Jon*_*eet 12
不 - 至少不是安全的代码.
创建数组时,它会将值复制到数组中.稍后更改数组中的值不会更改变量的值.没有办法创建一种"ref数组",其中数组元素与变量共享.(如Mark的回答所示,有时在不安全的代码中这样做的方法,但我真的建议远离它.)
但是请注意,如果数组和变量都引用相同的可变对象,那么通过任一路径改变该对象将进行通过另一个可见的更改:
StringBuilder x = new StringBuilder();
StringBuilder[] array = new StringBuilder[] { x };
array[0].Append("Foo");
Console.WriteLine(x); // Prints "Foo"
这与任何其他赋值没什么不同 - 并注意在上面的代码中,Append调用不会改变任何一个x或数组元素的值; 它会更改这些值所引用的对象中的数据.