以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 集合用法 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146707) |
-- 作者:天宇科技 -- 发布时间:2020/2/29 17:17:00 -- 集合用法 Dim 集合名称 As New List(Of 数据类型) Dim 集合名称 As List(Of 数据类型) 是一样的吗?我看帮助中有些用了“new”,有些地方又没有用?,这两种用法完全一样吗? |
-- 作者:有点蓝 -- 发布时间:2020/2/29 17:38:00 -- 变量的初始化一般有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、直接赋值也不一定就有值,时也有可能是空值,因为直接赋值依赖=号右边的代码运行结果,如果结果是空值,那么直接赋值后这个变量也是空值,因此我们往往需要进行判断。
|
-- 作者:天宇科技 -- 发布时间:2020/2/29 18:10:00 -- 谢谢蓝版,帮助中我没有看到这些讲解呢? |
-- 作者:天宇科技 -- 发布时间:2020/2/29 18:15:00 -- Dim Products As List(Of String) Products = DataTables("产品").GetValues("产品名称") For Each Product As String In Products Output.Show(Product) Next 这儿不是直接 赋值,也没有用new
|
-- 作者:sloyy -- 发布时间:2020/2/29 20:16:00 -- 定义了Products,后面直接执行 Products = DataTables("产品").GetValues("产品名称")这就是直接赋值
|
-- 作者:天宇科技 -- 发布时间:2020/2/29 21:03:00 -- 哦。我以为在变量后面才是直接赋值呢 |
-- 作者:有点蓝 -- 发布时间:2020/3/1 19:55:00 -- 以下是引用天宇科技在2020/2/29 18:10:00的发言:
这些是编程语言的特性,foxtable帮助只是针对foxtable的使用说明,如果要涉及到方方面面的帮助都写出来,这个帮助文档大小估计要按G来算。
扩展的知识有兴趣自己网上学学vb.net。
谢谢蓝版,帮助中我没有看到这些讲解呢? |
-- 作者:kgdce -- 发布时间:2020/6/25 11:09:00 -- 学习,加new就是有了空对象,可以直接用了。不加new,就是什么都没有,只是空值,可以直接赋值。 如对数组,dim s() as string ={1,2,3}
|