【发布时间】:2013-03-01 23:18:58
【问题描述】:
这是 VB.Net 中的代码
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 允许这种行为?
【问题讨论】:
-
你可以在here找到相关信息
-
目前尚不清楚它在 VB 版本中的预期效果——它肯定不会真正将小写版本“保存”回原始集合,对吗?
-
@JonSkeet - 非常敏锐的观察 - 我正在从一个代码到另一个代码进行愚蠢的转换 - 因为添加更改变得很痛苦。我现在可以删除该代码!
标签: sharpdevelop vb.net-to-c# code-conversion