在C#中通过引用传递

时间:2009-10-26 12:25:29

标签: c#

如何在C#中将参数作为引用传递,并在调用函数时如何在定义特定函数时表示它

6 个答案:

答案 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关键字

的参数中