如何在C#中将参数作为引用传递,并在调用函数时如何在定义特定函数时表示它
答案 0 :(得分:10)
正如其他人所说,你应该在调用站点和方法声明中使用ref
修饰符来表示你想要使用by-reference语义。但是,您应该了解按值和按引用语义如何与.NET的“值类型”与“引用类型”模型进行交互。
我有两篇文章:
答案 1 :(得分:6)
以下是通过引用传递int的示例:
void DoubleInt(ref int x)
{
x += x;
}
你可以这样称呼它:
DoubleInt(ref myInt);
这是关于传递参数的msdn article。
答案 2 :(得分:4)
您可以使用ref关键字通过引用传递对象。
public void YourFunction(ref SomeObject yourReferenceParameter)
{
// Do something
}
当您调用它时,您还需要提供ref关键字。
SomeObject myLocal = new SomeObject();
YourFunction(ref myLocal);
答案 3 :(得分:2)
我建议你看一下the MSDN documentation。这很清楚。
答案 4 :(得分:0)
只需将ref关键字作为前缀添加到函数定义中的所有参数中。在调用函数时传递的参数中放入ref关键字前缀。
答案 5 :(得分:0)
您还可以在不需要用户ref
关键字的情况下引用类型
例如,您可以将一个Class的实例作为参数添加到没有ref
关键字