【发布时间】:2010-10-31 23:52:45
【问题描述】:
我了解,如果我将值类型(int、struct 等)作为参数传递(不带 ref 关键字),则会将该变量的副本传递给方法,但如果我使用 ref 关键字传递了对该变量的引用,而不是新变量。
但是对于像类这样的引用类型,即使没有ref 关键字,引用也会传递给方法,而不是副本。那么ref 关键字和引用类型有什么用呢?
举个例子:
var x = new Foo();
以下有什么区别?
void Bar(Foo y) {
y.Name = "2";
}
和
void Bar(ref Foo y) {
y.Name = "2";
}
【问题讨论】:
标签: c# parameters pass-by-reference pass-by-value