Вот код в 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'"
Я задаюсь вопросом, почему такое поведение р ermitted в VB.Net?
вы можете найти информацию об этом в [здесь] (http://stackoverflow.com/questions/ 7838079/why-cant-we-assign-a-foreach-iteration-variable-while-we-can-full-modi) –
Неясно, чего ожидалось в версии VB - наверняка, на самом деле это не было бы «сохранить» версию нижнего регистра обратно в оригинальную коллекцию, не так ли? –
Помогает ли это? http: // stackoverflow.com/questions/2037988/change-foreach-итерация-переменная-и-реализация-различия-между-c-sha – as1