每个x ...下一个VS.对于每个x ...下一个x

时间:2012-08-06 14:26:10

标签: vb.net syntax

通常情况下,我使用C#编写.NET,但目前我正在更新用VB.NET编写的项目,并注意到在For Each循环中使用了一种奇怪的语法。

之间有什么区别吗?
For Each x in collection.Items
    ...
Next

For Each x in collection.Items
    ...
Next x

我在这里的代码中都看到过,并且好奇为什么有人会使用第二种变体。

4 个答案:

答案 0 :(得分:5)

这是在MSDN参考:

上指定的
  

您可以选择在Next语句中指定元素。这个   提高程序的可读性,特别是如果你有   嵌套For Each循环。您必须指定与该变量相同的变量   出现在相应的For Each语句中。

原文可在此处找到 - 备注部分下的第五段:

http://msdn.microsoft.com/en-us/library/5ebk1751.aspx

答案 1 :(得分:3)

对于读者来说,第二个版本可以更清晰,特别是在有大量嵌套循环的情况下。没有其他原因。有关详情,请参阅MSDN

答案 2 :(得分:1)

功能没有区别;它只是为了帮助避免错误以及与VB6的向后兼容性。就个人而言,我从不使用它。

答案 3 :(得分:0)

在那里注释哪个next属于哪个for。我不确定编译器是否检查fornext是否匹配,但可以想象,如果它们不匹配,它可能会失败