下面是在VB.NetForeach循环VB.Net到C#代码转换
If Not queryItems Is Nothing Then
For Each qItem As String In queryItems
qItem = qItem.ToLower()
Next
End If
代码和它的在c# “等效” 代码(使用的SharpDevelop/developerfusion/Telerik的转换器/ VS 2012 “粘贴为C#”法)
if (queryItems != null)
{
foreach (string qItem in queryItems)
{
qItem = qItem.ToLower();
}
}
C#编译器(这是正确的)具有以下
"Cannot assign to 'qItem' because it is a 'foreach iteration variable'"
抱怨我很奇怪,为什么这种行为是对在VB.Net中犯错?
你可能在这里找到关于这方面的信息(http://stackoverflow.com/questions/ 7838079 /为什么我们不能分配一个foreach迭代变量而我们可以完全修改) – 2013-03-01 23:22:49
目前还不清楚它在VB版本中预期会完成什么 - 当然,它实际上没有将小写版本“保存”回原始集合,是不是? – 2013-03-01 23:22:52
这有帮助吗? http:// stackoverflow。com/questions/2037988/changing-foreach-iteration-variable-and-implementation-differences-between-c-sha – as1 2013-03-01 23:25:49