C# 中 out 和 ref 关键字的区别

csharpserver side programmingprogramming

out 关键字

out 关键字用于将参数作为引用类型传递给方法,主要在方法必须返回多个值时使用。ref 关键字也用于将参数作为引用类型传递给方法,在方法中修改现有变量时使用。以下是 C# 中 ref 和 out 关键字的有效用法。

示例

using System.IO;
using System;
public class Program {
   public static void update(out int a){
      a = 10;
   }
   public static void change(ref int d){
        d = 11;
   }
   public static void Main() {
      int b;
      int c = 9;
      Program p1 = new Program();
      update(out b);
      change(ref c);
      Console.WriteLine("更新后的值为:{0}", b);
      Console.WriteLine("更改后的值为:{0}", c);
   }
}

输出

更新后的值为:10
更改后的值为:11

以下是 ref 和 out 关键字之间的一些重要区别。

Sr.No.关键ref 关键字out 关键字
1目的当被调用的方法需要更新传递的参数时,使用 ref 关键字。当被调用的方法需要更新传递的多个参数时,使用 out 关键字。
2方向ref 关键字用于双向传递数据。out 关键字用于单向获取数据。
3初始化在将变量作为 ref 传递之前,需要对其进行初始化,否则编译器会抛出错误。如果使用了 out 关键字,则无需初始化变量。
4初始化在调用方法中,不需要初始化作为 ref 传递的参数。在调用方法中,需要初始化作为 out 传递的参数。

相关文章