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