คีย์เวิร์ดออก
คีย์เวิร์ด 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. | ในเมธอดที่เรียกใช้ จำเป็นต้องเริ่มต้นพารามิเตอร์ที่ส่งผ่านออกมา |