5

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

有没有区别

For Each x in collection.Items
    ...
Next

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

?

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

4

4 回答 4

5

这在 MSDN 参考中是这样指定的:

您可以选择在 Next 语句中指定元素。这提高了程序的可读性,尤其是在嵌套 For Each 循环的情况下。您必须指定与出现在相应 For Each 语句中的变量相同的变量。

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

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

于 2012-08-06T14:31:29.313 回答
3

第二个版本对读者来说更清楚,尤其是在有很多嵌套循环的地方。没有其他原因。有关更多信息,请参阅MSDN

于 2012-08-06T14:28:11.817 回答
1

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

于 2012-08-06T14:28:25.433 回答
0

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

于 2012-08-06T14:28:31.907 回答