今天,我发现我多年来对VB.NET的一些假设并不是真的(令人担忧!)我假设在循环中声明的变量具有声明它的迭代的生命周期,但实际上它似乎具有整个过程的生命周期。在C#中,等价的代码不会被编译,因为你会得到一个编译时错误"Use of unassigned local variable 'var1'“。我意识到有很多方法可以解决这个问题,最佳实践是
我正在使用VB.NET中的LINQ,有时我会使用这样的查询 Dim num = (From n In numbers Where n Mod i = 0 Selectn).First()然后发出警告:“在lambda表达式中使用迭代变量的可能会产生意想不到的结果,相反,在循环中创建一个局部变量并为其分配</e