首先,抱歉,如果这是问之前,但我只是找不到任何相关的。
string anElement = "World";
string[] col = new string[2] { "Hello", anElement };
anElement = "Jupiter";
Array.ForEach(col, Console.WriteLine);
// Output:
// Hello
// World
如图所示,将不同的值重新分配给anElement
引用不会更新该值。
同样的情况也适用于此场景:
string[] col = new string[2] { "Hello", "World" };
string elementToUpdate = col[1];
elementToUpdate = "Jupiter";
Array.ForEach(col, Console.WriteLine);
如果所有元素都存储为引用,为什么更改col[1]="Jupiter"
有效而上面的操作无效?
2条答案
按热度按时间q3aa05251#
请尝试以下代码
问题是您将值赋给anElement,而没有获取数组中需要进行更改的项
lskq00tm2#
因为分配局部变量字符串anElement未在任何执行路径中使用请尝试以下代码