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


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("Updated value is: {0}", b);
      Console.WriteLine("Changed value is: {0}", c);
   }
}

输出

Updated value is: 10
Changed value is: 11

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

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

更新于: 2020年5月16日

18K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.