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