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.