通常情况下,我使用C#编写.NET,但目前我正在更新用VB.NET编写的项目,并注意到在For Each
循环中使用了一种奇怪的语法。
之间有什么区别吗?
For Each x in collection.Items
...
Next
和
For Each x in collection.Items
...
Next x
我在这里的代码中都看到过,并且好奇为什么有人会使用第二种变体。
答案 0 :(得分:5)
这是在MSDN参考:
上指定的您可以选择在Next语句中指定元素。这个 提高程序的可读性,特别是如果你有 嵌套For Each循环。您必须指定与该变量相同的变量 出现在相应的For Each语句中。
原文可在此处找到 - 备注部分下的第五段:
答案 1 :(得分:3)
对于读者来说,第二个版本可以更清晰,特别是在有大量嵌套循环的情况下。没有其他原因。有关详情,请参阅MSDN。
答案 2 :(得分:1)
功能没有区别;它只是为了帮助避免错误以及与VB6的向后兼容性。就个人而言,我从不使用它。
答案 3 :(得分:0)
在那里注释哪个next
属于哪个for
。我不确定编译器是否检查for
和next
是否匹配,但可以想象,如果它们不匹配,它可能会失败