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

RJ *_*son 5 vb.net syntax

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

两者之间有什么区别吗?

For Each x in collection.Items
    ...
Next
Run Code Online (Sandbox Code Playgroud)

For Each x in collection.Items
    ...
Next x
Run Code Online (Sandbox Code Playgroud)

我在这里的代码中看到了两个并且好奇为什么有人会使用第二个变体.

bUK*_*eer 5

这是在MSDN参考上指定的:

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

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

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