vb.net 数组或集合的定义,变量元素的for循环

zfybs 2014-05-06 10:52:44
问题的关键就是:为什么对不是数组或集合的变量可以使用For或For Each???
我用的是VB 2010学习版。
例1:
For Each NextMatch In Matches
Console.WriteLine(NextMatch.Index)
Next
注意For Each NextMatch In Matches这一句,为什么可以对Matches变量应用For Each语句?从下面这张图中看,matches变量并不是一个数组啊。

例2:
For i = 0 To mySL.Count - 1
Console.WriteLine(ControlChars.Tab & "{0}" &ControlChars.Tab & _
myKeyList(i), myValueList(i))
Next i
其中的myKeyList或myKeyValueList好像也不是数组或集合,如何调用其元素??
...全文
362 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfybs 2014-05-11
  • 打赏
  • 举报
回复
感谢大家的回复,虽然还不是很明白,但是我会努力学习。 真是励志啊。
threenewbee 2014-05-07
  • 打赏
  • 举报
回复
引用 4 楼 zfybs 的回复:
但是从局部变量的图中来看,并不能看出例1中的matches或例2中的myKeyList中有多个元素可以调用。 我以为,不管是数组或集合,都应该是如下图这样,才可以调用其元素的。
通过下标访问需要实现IList或者索引器
zfybs 2014-05-07
  • 打赏
  • 举报
回复
但是从局部变量的图中来看,并不能看出例1中的matches或例2中的myKeyList中有多个元素可以调用。
我以为,不管是数组或集合,都应该是如下图这样,才可以调用其元素的。
宝_爸 2014-05-07
  • 打赏
  • 举报
回复
The foreach statement repeats a group of embedded statements for each element in an array or an object collection that implements the System.Collections.IEnumerable or System.Collections.Generic.IEnumerable<T> interface. 来自msdn: http://msdn.microsoft.com/en-us/library/ttw7t8t6.aspx
threenewbee 2014-05-06
  • 打赏
  • 举报
回复
只要实现了IEnumerable接口都可以用foreach调用。
Banianer 2014-05-06
  • 打赏
  • 举报
回复
myKeyList是一个集合。

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧