以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码的意思  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78885)

--  作者:文道古月
--  发布时间:2015/12/19 15:56:00
--  代码的意思

老师好:

 

  能帮我具体解释一下,下面这段代码的意思吗?

 

 

For Each dr As DataRow In DataTables("移动类型").Select("")  \'遍历移动类型表中的集合,
    Dim ary() As String = dr("主动单元").split("|") \'数组ary的值=主动单元的集合,以|分割
    For Each s As String In ary \'遍历ary主动单元数值的集合
        If ls.Contains(s) = False Then \'判断集合不含s的值
            ls.add(s) \'添加s
        End If
    Next
Next
cmb.ComboList = String.Join("|", ls.ToArray) \'合并数组(Is集合转换为数组)的值


--  作者:Hyphen
--  发布时间:2015/12/19 16:05:00
--  

取移动类型.主动单元不重复值作为列表项目

 

 


--  作者:文道古月
--  发布时间:2015/12/19 16:08:00
--  

我也知道是这个效果,但是我想知道每句代码具体是什么意思?怎样达到效果的,

 

看了好久都没看明白,注释的文字,都不连贯,

图片点击可在新窗口打开查看 求指点

--  作者:Hyphen
--  发布时间:2015/12/19 16:10:00
--  
代码注释已经很清楚了,建议多看2遍帮助的编程基础
[此贴子已经被作者于2015/12/19 16:09:46编辑过]

--  作者:文道古月
--  发布时间:2015/12/19 16:15:00
--  

注释是我根据代码一个个查的,虽然查出来了,但是不是很明白为什么那样用?

 

 

比如:For Each dr As DataRow In DataTables("移动类型").Select("") \'

结尾的select为空,返回的是什么?帮助中也没查到(返回什么样的空行)

[此贴子已经被作者于2015/12/19 16:18:13编辑过]

--  作者:文道古月
--  发布时间:2015/12/19 16:19:00
--  

好的,我再查一遍帮助

O(∩_∩)O谢谢!!

[此贴子已经被作者于2015/12/19 16:19:37编辑过]

--  作者:Hyphen
--  发布时间:2015/12/19 16:22:00
--  
的select为空,返回所有行,一般不这样用,虽然不知道select的里面是怎么处理的,不管怎么样都有性能上损失,应该直接For Each dr As DataRow In DataTables("移动类型").DataRows
--  作者:文道古月
--  发布时间:2015/12/19 16:28:00
--  

噢,不一样的代码,一样的效果,厉害!

 

老师好,这里为什么要用IF判断呢? 

 


图片点击可在新窗口打开查看此主题相关图片如下:截图20151219162354.png
图片点击可在新窗口打开查看

--  作者:文道古月
--  发布时间:2015/12/19 16:56:00
--  

上面的搞懂了,最后一句没看明白,

 

1:为什么设置列表项目,要把整个数组用|符号合并成一个字符呢? 这样看起来不就是一长串的用管道符号连接起来的字符,为什么在列表项目展开的时候却又是分开的呢???

 

2:第二步的时候已经获取了数组值,为什么要遍历保存集合,最后再转集合为数组? 

 


图片点击可在新窗口打开查看此主题相关图片如下:截图20151219162354.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:截图20151219165925.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/12/19 17:05:39编辑过]

--  作者:Hyphen
--  发布时间:2015/12/19 17:09:00
--  

http://www.foxtable.com/help/topics/0925.htm

 

Foxtable定的游戏规则,没有为什么

 

遍历的目的是取不重复值