Foxtable(狐表)用户栏目专家坐堂 → 代码的意思


  共有2026人关注过本帖树形打印复制链接

主题:代码的意思

帅哥哟,离线,有人找我吗?
文道古月
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
代码的意思  发帖心情 Post By: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集合转换为数组)的值


 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 16:08:00 [显示全部帖子]

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

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 16:15:00 [显示全部帖子]

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

 

 

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 16:19:00 [显示全部帖子]

好的,我再查一遍帮助

O(∩_∩)O谢谢!!

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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 16:28:00 [显示全部帖子]

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

 

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

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 16:56:00 [显示全部帖子]

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

 

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

 

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

 


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


 


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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 17:09:00 [显示全部帖子]

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

用datarows返回的元素是否有排除重复值呢?


 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 17:14:00 [显示全部帖子]

以下是引用Hyphen在2015/12/19 17:09:00的发言:

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

 

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

 

遍历的目的是取不重复值

那假如我单元格的值本来就是用管道符号连接的一串字符,是不是可以直接用来做列表项目?可以自动识别

 

帮助中的例子,列表项目是有双引号的,而我那里是没有双引号的,为什么也能用呢?

示例一

Dim cmb As WinForm.ComboBox
cmb = Forms(
"窗口1").Controls("ComboBox1")
cmb.ComboList =
"计算机|打印机|传真机|电话机"

 

 

Next        ''join:用指定的分割符号,将一个字符串数组的全部元素合并为一个字符串
cmb.ComboList = String.Join("|", ls.ToArray) '合并数组(Is集合转换为数组)的值

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

 回到顶部
帅哥哟,离线,有人找我吗?
文道古月
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:303 积分:2363 威望:0 精华:0 注册:2015/10/14 16:55:00
  发帖心情 Post By:2015/12/19 17:37:00 [显示全部帖子]

OK,明白了

 

O(∩_∩)O谢谢

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

 回到顶部