加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

浅谈Empty、Nothing

发布时间:2020-12-16 22:31:35 所属栏目:大数据 来源:网络整理
导读:在每一个编程语言里面都包含有数组,他们之间或多或少有一些差异,但是总体上没有什么区别,下面我说的数组是在VB.NET里面的使用。 这些天还在做机房收费系统,随着代码写的越来越多,以前写的代码也出现了一些问题,昨天遇到了一个就是关于数组的方面的,我

在每一个编程语言里面都包含有数组,他们之间或多或少有一些差异,但是总体上没有什么区别,下面我说的数组是在VB.NET里面的使用。


这些天还在做机房收费系统,随着代码写的越来越多,以前写的代码也出现了一些问题,昨天遇到了一个就是关于数组的方面的,我对数组的认识还是很肤浅的,认为数组仅可以简单的存取一些数据或对象,其实,数组功能还有很多,比如排序、快速检索等等,用好数组可以给程序员带来很大益处。


举个例子来说明Nothing的用法。

声明一个存储对象的数组


我们来判断数组param是否为空时,用下面语句,并向参数数组中添加参数。

Dim param(0) As SqlParameter

param(0)=Nothing

If Param IsNot Nothing Then

SqlCmd.Parameters.AddRange(param)

End If


我这样写时会出现AddRange参数不能为空的错误,但已经判断过Param不为空了,还是出现错误。


原因应该是AddRange()增加的是数组中每一个元素的值,他需要确保数组每一个元素不为Nothing。param代表的是数组这个对象,如果数组中有一个元素就说明这个数组不为Nothing,这样就能合理说明上面代码正确。


Nothing是指向一个空对象的引用,将一个对象变量设为空,就释放了这个变量的引用,释放了对象。


例如:Dim cnn As Connection

cnn=Nothing

释放了cnn(变量)这个连接对象。

在这里cnn对象是否释放了呢?我们还需要判断一下

If cnn Is Nothing …………

Empty表示一个还没有初始化的变量,变量的数据类型没有要求,可以是integer、string、boolean、date、object等,每种数据类型都有默认初始化值,依据不同的编程语言而不同。


上面是一般书上写的用法与定义,不断,写程序过程中未免还有些疑惑,他们有什么本质区别?他们有什么内在联系?什么时候可以混用什么时候不可以?好多问题还需要在编程中理解。只靠一点一点的想,不会太全面。


突然发现,想写好程序就要对语言理解透彻,这样才能运用好语言!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读