Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างระหว่างคำสำคัญ out และ ref ใน C #


คีย์เวิร์ดออก

คีย์เวิร์ด out ใช้เพื่อส่งผ่านอาร์กิวเมนต์ไปยังเมธอดเป็นประเภทอ้างอิง และใช้หลักเมื่อเมธอดต้องคืนค่าหลายค่า คีย์เวิร์ด ref ยังใช้เพื่อส่งผ่านอาร์กิวเมนต์ไปยังเมธอดเป็นประเภทอ้างอิง และใช้เมื่อต้องแก้ไขตัวแปรที่มีอยู่ในเมธอด ต่อไปนี้คือการใช้คีย์เวิร์ดอ้างอิงและออกที่ถูกต้องใน C#

ตัวอย่าง

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

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างคำอ้างอิงและคำหลัก

ซีเนียร์ เลขที่ คีย์ อ้างอิงคำสำคัญ คีย์เวิร์ดออก
1 วัตถุประสงค์ ref คำสำคัญถูกใช้เมื่อเมธอดที่เรียกต้องอัพเดตพารามิเตอร์ที่ส่งผ่าน คีย์เวิร์ด out จะใช้เมื่อเมธอดที่เรียกต้องอัปเดตหลายพารามิเตอร์ที่ส่งผ่าน
2 ทิศทาง ref คำสำคัญใช้เพื่อส่งข้อมูลแบบสองทิศทาง คีย์เวิร์ด out ใช้เพื่อรับข้อมูลแบบทิศทางเดียว
3 การเริ่มต้น ก่อนที่จะส่งตัวแปรเป็น ref จะต้องได้รับการเตรียมข้อมูลเบื้องต้น มิฉะนั้น คอมไพเลอร์จะเกิดข้อผิดพลาด ไม่จำเป็นต้องเริ่มต้นตัวแปรหากใช้คีย์เวิร์ด out
4 การเริ่มต้น ในเมธอดที่เรียก ไม่จำเป็นต้องเตรียมข้อมูลเบื้องต้นพารามิเตอร์ที่ส่งผ่านเป็น ref. ในเมธอดที่เรียกใช้ จำเป็นต้องเริ่มต้นพารามิเตอร์ที่ส่งผ่านออกมา