以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [讨论]我试了一下帮助文件--集合 中的例子,不太理解。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=449) |
-- 作者:wcs -- 发布时间:2008/9/11 22:19:00 -- [讨论]我试了一下帮助文件--集合 中的例子,不太理解。 Dim Lst As New List(Of String()) \'定义一个字符型数组集合。 Dim Ary1(1) As String Dim Ary2(1) As String Lst.Add(Ary1) \'将数组加到集合中。 Lst.Add(Ary2) Ary1(0) = "a" Ary1(1) = "b" Ary2(0) = "1" Ary2(1) = "2" \'注意循环变量是字符型数组,所以类型是String(),而不是String For Each uu As String() In Lst For i As Integer = 0 To Ary1.Length - 1 Output.Show(Ary2(i)) Next Next ‘注意:我修改了一下帮助原文 for each 后面的几个变量,如“uu”、“ary1”、“ary2” 执行结果是: 1 2 1 2 这个结果表示:Ary2数组中的内容循环显示了两次,但是 “For i As Integer = 0 To Ary1.Length - 1”只定义了显示从0、1两个要素 不理解啊! [此贴子已经被作者于2008-9-11 22:22:00编辑过]
|
-- 作者:wcs -- 发布时间:2008/9/11 22:30:00 -- 说实话,我不知道编程时在什么地方可能会用上集合。 确实水平太有限了。 |
-- 作者:kylin -- 发布时间:2008/9/12 7:54:00 -- 注意以下的更改,其他不变 For i As Integer = 0 To uu.Length - 1 Output.Show(uu(i)) |
-- 作者:wcs -- 发布时间:2008/9/12 8:32:00 -- 按 kylin 的意思修改一下,计算结果可以理解。 |
-- 作者:狐狸爸爸 -- 发布时间:2008/9/12 8:36:00 -- 输出的是Ary2的内容,结果是1和2 你改了变量名,后面引用该变量的地方也要改。 [此贴子已经被作者于2008-9-12 8:37:54编辑过]
|
-- 作者:kylin -- 发布时间:2008/9/12 9:50:00 -- 在老六的基础上进一步说明 For Each uu As String() In Lst 这一句的目的是为了数组集合的每一个元素 For i As Integer = 0 To Ary1.Length - 1 这一句从逻辑上应当是针对上一句的uu才可以 Output.Show(Ary2(i)) 这一句的意思是要求程序显示数组Ary2的内容,当然没有办法显示Ary1的内容。实际上所要的是uu中每一个元素中的每一个值即uu(i) |
-- 作者:wcs -- 发布时间:2008/9/12 10:07:00 -- For i As Integer = 0 To Ary1.Length - 1 Output.Show(Ary2(i)) Next 我是这样理解的:For i As Integer = 0 To Ary1.Length - 1 表示 i取0、1 (ary1只有两个要素), 那么Output.Show(Ary2(i)) 也只应显示两个结果,而不是4个! 不理解结果为什么是4个。 在这个语句里,上面和下面的变量名必须一致吗?(ary1和ary2、uu) [此贴子已经被作者于2008-9-12 10:08:11编辑过]
|
-- 作者:kylin -- 发布时间:2008/9/12 11:16:00 -- 别忘了For Each uu As String() In Lst 是在你的For i As Integer = 0 To Ary1.Length - 1 之外圈,也是包含2个数组,也是循环两次。小学算式2*2=4 如你的需要只要2个的话,For Each uu As String() In Lst 与外圈的Next就变得没有意义了,大可以去掉。 上面和下面的变量名是否必须一致?看你的动作目标与逻辑了。 逻辑肯定是编码的基础,混乱了,到时候出现问题,很难改的。 |
-- 作者:wcs -- 发布时间:2008/9/12 11:22:00 -- 是有点混了。 |
-- 作者:kylin -- 发布时间:2008/9/12 11:31:00 -- 原来是故意的!? |