相关疑难解决方法(0)

C#中引用类型变量的"ref"有什么用?

我理解如果我传递一个值类型(int,struct等)作为参数(没有ref关键字),该变量的副本将传递给该方法,但如果我使用该ref关键字,则传递对该变量的引用,不是新的.

但是使用引用类型(如类),即使没有ref关键字,也会将引用传递给方法,而不是副本.那么ref关键字与引用类型的用途是什么?


举个例子:

var x = new Foo();
Run Code Online (Sandbox Code Playgroud)

以下有什么区别?

void Bar(Foo y) {
    y.Name = "2";
}
Run Code Online (Sandbox Code Playgroud)

void Bar(ref Foo y) {
    y.Name = "2";
}
Run Code Online (Sandbox Code Playgroud)

c# parameters pass-by-reference pass-by-value

167
推荐指数
6
解决办法
4万
查看次数

标签 统计

c# ×1

parameters ×1

pass-by-reference ×1

pass-by-value ×1