我注意到一些有趣的事情。我可以在 foreach 块中更改数组的元素或分配新的数组引用,但我无法对集合执行相同的操作,它会给出错误。为什么? 以下示例给出错误
List<string> isimler = new List<string>() { "Ali", "Ayşe", "Fatma", "Mehmet" };
foreach (var (isim, index) in isimler.Select((isim, index) => (isim, index)))
{
isimler[index] += 10;
}
foreach(string isim in isimler)
{
Console.WriteLine(isim);
}
以下示例没有给出错误,它正在工作
string[] isimler = { "Ali", "Ayşe", "Fatma", "Mehmet" };
foreach (var (isim, index) in isimler.Select((isim, index) => (isim, index)))
{
isimler[index] += 10;
}
foreach(string isim in isimler)
{
Console.WriteLine(isim);
}