ในการกำหนดการอ้างอิงให้กับตัวแปร ให้ใช้คีย์เวิร์ด ref พารามิเตอร์แบบอ้างอิง (reference parameter) คือการอ้างอิงไปยังตำแหน่งหน่วยความจำของตัวแปร เมื่อคุณส่งผ่านพารามิเตอร์แบบอ้างอิง ไม่เหมือนพารามิเตอร์แบบค่า (value parameters) จะไม่สร้างตำแหน่งเก็บข้อมูลใหม่สำหรับพารามิเตอร์เหล่านี้ ให้ประกาศพารามิเตอร์อ้างอิงโดยใช้คีย์เวิร์ด ref
ตัวอย่าง: การสลับค่าสองตัวด้วย ref
using System;
namespace Demo {
class Program {
public void swap(ref int x, ref int y) {
int temp;
temp = x; // เก็บค่า x
x = y; // ใส่ y ลงใน x
y = temp; // ใส่ temp ลงใน y
}
static void Main(string[] args) {
Program p = new Program();
int a = 99;
int b = 110;
Console.WriteLine("Before swap, value of a : {0}", a);
Console.WriteLine("Before swap, value of b : {0}", b);
// เรียกฟังก์ชันเพื่อสลับค่า
p.swap(ref a, ref b);
Console.WriteLine("After swap, value of a : {0}", a);
Console.WriteLine("After swap, value of b : {0}", b);
Console.ReadLine();
}
}
}
ผลลัพธ์
Before swap, value of a : 99 Before swap, value of b : 110 After swap, value of a : 110 After swap, value of b : 99