在c#中使用diff b / w ref和out参数

时间:2010-03-12 09:52:07

标签: c#

请在C#

中提供diff b / w ref和out参数

3 个答案:

答案 0 :(得分:2)

参考参数:

  • 必须由来电者初始化。
  • 不必在功能中分配。

out参数:

  • 不必由呼叫者初始化。
  • 必须在函数中分配

答案 1 :(得分:2)

区别在于ref参数用于方法的输入和输出,而out参数仅用于输出。

当您使用ref参数调用方法时,在调用方法之前必须有一个值:

int value = 42;
SomeMethod(ref value);

当您使用out参数调用方法时,在调用方法之前,它不必具有已定义的值:

int value;
SomeMethod(out value);

在具有ref参数的方法中,已知它具有值,并且不必进行更改:

public void SomeMethod(ref int value) {
   int temp = value;
}

在具有out参数的方法中,未定义初始值,并且必须在从方法返回之前分配值:

public void SomeMethod(out int value) {
   value = 42;
}

答案 2 :(得分:0)

必须使用默认值初始化

ref。不需要出去