变量的初始化一般有2种方式:
1)使用new关键字初始化一个空对象,如:Dim Names As New List(Of String)
注意这里的空对象不是空值。空值是什么都没有,对象本身还不存在;空对象是这个对象已经存在了,只是里面的属性还是空的。以上面的代码为例,Dim Names As List(Of String)如果这样用,Names就是空值,如果使用就会出错。Dim Names As New List(Of String)这样用,Names就是一个空的集合对象,只是集合本身没有任何元素,但是我们可以使用这个变量,对集合进行添加删除等等操作。
2)直接赋值,如:Dim drs As List(Of DataRow) = DataTables("订单").Select("[产品] = 'PD01'")
drs就是一个DataRow类型的集合类型对象实例。
注意:
a、直接赋值时不能使用new关键字,这样就是错的:Dim drs As new List(Of DataRow) = DataTables("订单").Select("[产品] = 'PD01'")
b、直接赋值时可以省略类型指定,如:Dim drs = DataTables("订单").Select("[产品] = 'PD01'"),这时drs的类型就由后面赋值代码的返回值限定。又如:Dim i = 0表示变量i是整型;Dim i = "0"表示变量i是字符型,存储的是字符0而不是整数0。
但是我们建议还是在定义变量的时候指定类型,这样使代码更清晰和容易理解。最主要的是,如果没有指定类型,狐表的代码编辑器就无法显示精灵提示。
c、直接赋值也不一定就有值,时也有可能是空值,因为直接赋值依赖=号右边的代码运行结果,如果结果是空值,那么直接赋值后这个变量也是空值,因此我们往往需要进行判断。