VS2013中是否已删除VB.NET编译器警告BC42324?
我最近安装了VS2013(与以前的VS2010一起安装),并注意到在编译相同的VB.NET代码时不再收到编译器警告“BC42324”(以下文本)(我在VS2010中重新编译以确认仍然显示警告): 在查询表达式中使用迭代变量可能会 意外的结果。相反,在循环中创建一个局部变量 并将迭代变量的值赋给它 关于的文档似乎表明警告仍然包括在内。我看到/没有看到带有以下代码的警告:VS2013中是否已删除VB.NET编译器警告BC42324?,vb.net,visual-studio-2010,visual-studio-2013,compiler-warnings,Vb.net,Visual Studio 2010,Visual Studio 2013,Compiler Warnings,我最近安装了VS2013(与以前的VS2010一起安装),并注意到在编译相同的VB.NET代码时不再收到编译器警告“BC42324”(以下文本)(我在VS2010中重新编译以确认仍然显示警告): 在查询表达式中使用迭代变量可能会 意外的结果。相反,在循环中创建一个局部变量 并将迭代变量的值赋给它 关于的文档似乎表明警告仍然包括在内。我看到/没有看到带有以下代码的警告: Dim Numbers = {0, 1} For Each index In Numbers Dim SumPlusInde
Dim Numbers = {0, 1}
For Each index In Numbers
Dim SumPlusIndex = Aggregate x In Numbers Select x + index Into Sum()
Next
这个警告真的被删除了吗?为什么会这样?如果不是的话,我的VS2010和VS2013安装之间是否存在其他可能导致差异的环境差异?是的,这就是臭名昭著的错误。它已经咬了很多程序员,所以微软决定做点什么。他们为每个循环求解一个,而不是为
循环求解一个。您仍然可以触发如下警告:
Sub Main()
For ix As Integer = 1 To 10
Dim dlg = Sub()
Console.WriteLine(ix) '' Eek!
End Sub
'' etc...
Next
End Sub