专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

问个关于for each循环的有关问题

发布时间:2011-06-23 16:00:21 文章来源:www.iduyao.cn 采编人员:星星草
问个关于for each循环的问题
由于我是刚开始学习   VB2005   ,并且也没有什么编程基础,我问的问题,可能在高手眼里看来很简单,但是我真的是不会!
我买了本书,叫做“VB2005入门经典”清华大学出版社的
如果大家有这本书的话,可以看一下,是在100页
代码如下:
      private   sub   btn_click(byval   e   as   system.object,   byval   sender   as   _   system.args)   handles   btn.click
      for   each   strname   as   string   in   my.computer.filesystem.getdirectories   _( "c:\ ")

      listbox.items.add(strname)
     
      next
对于以上代码,我有一下几点不明白!
1:在for   each   ............那行,为什么要用   in   这个词?
2:以下是我对这个循环的理解:
      一开始,getdirectories把得到的C盘的第一个文件夹的名字赋予变量strname
      然后把strname的值,存储,
      接着用listbox.items.add方法把strname的值的值添加到列表中
     
      但是,当运行到NEXT语句时,我不知道是什么回事了,
      是NEXT把strname的值转到for   each   语句后,还是.......
哎呀,我现在都糊涂了,是什么决定这个循环的中止呢?
3:这个NEXT的作用是什么?
4:谁能给我说一下这个循环的详细流程呢?谢谢大家了!
5:   for   each   next   和   for   next   有什么区别?

第一次发帖子,不知道能不能得到答案,哈哈
                                       
                                        预祝大家新年快乐,万事如意!


------解决方案--------------------
一般循环:
for i as int16=0 to 10 step 1
next

Each循环:
each = 每一个,单个
in = 范围
next = 下一个
“my.computer.filesystem.getdirectories _( "c:\ ")”这句就是确定范围:C盘下所有目录名称。相等于一般循环中的10
“strname ”就是每次循环的临时载体。相等于一般循环中的i(不停变化)


------解决方案--------------------
穷举循环
string 是一个item
my.computer.filesystem.getdirectories _( "c:\ ")--items
getdirectories把得到的C盘的第一个文件夹的名字
next 处理完一个再来一个
语法的改进,大概是要吸引C/JAVA程序员

循环就在于条件判断,each item in items-当item为null时,则条件为false,跳出循环体
------解决方案--------------------
补充:

一般循环:
for i as int 16=0 to 10 step 1 '/////这里的i数值型变量,to后是一个具体数值或有具体数值的变量,它和C语言中的For循环功能相同
next

而For Each ...Next 用来遍历集合中的每一项
for each strname as string in my.computer.filesystem.getdirectories _( "c:\ ")
/////in后面是个集合,是strname变量类型的集合

listbox.items.add(strname)

next

是什么决定这个循环的中止?;当遍历完集合中的每一项时边便终止,你也可以强制终止这个循环.用Exit For这条语句便可


Each循环:
each = 每一个,单个
in = 范围
next = 下一个
“my.computer.filesystem.getdirectories _( "c:\ ")”这句就是确定范围:C盘下所有目录名称。相等于一般循环中的10
“strname ”就是每次循环的临时载体。相等于一般循环中的i(不停变化)
------解决方案--------------------
这倒是没什么研究的.
词法问题,人性化口语化的语法.

比如,在座的第个人,它是这样的:

For Each 他 As 人 In 在座的所有人
Console.WriteLine(他.姓名)
Next Each

而For i=0 To 10,那是计数的,日常的就是从哪号到哪号.
如在座的人都编了号的,就是
For i As Integer = 0 To 10
Console.WriteLine(人(编号).姓名)
Next i
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: