【发布时间】:2011-12-24 08:07:48
【问题描述】:
也许是一个老问题,但在互联网上找不到任何全面的东西。
如果C#中默认的参数传递方式是By value,那么它对初始Reference Type变量有什么影响呢?
即在下面的示例中,如果它是按值传递的参数,为什么它会打印“Hello World”而不是“Hello”?
void Foo (StringBuilder x)
{
x.Append (" World");
}
StringBuilder y = new StringBuilder();
y.Append ("Hello");
Foo (y);
Console.WriteLine (y);
【问题讨论】:
-
对字符串生成器对象的引用是按值传递的。
标签: c# parameters parameter-passing pass-by-value reference-type