C#傳遞參數引用
引用參數是一個引用變量的存儲位置。當你按引用傳遞參數,不像按值傳遞參數,新的存儲位置冇有為這些參數創建。引用參數代表相同的存儲單元被提供給該方法的實際參數。
在C#中,聲明使用ref關鍵字的引用參數。下麵的例子說明了這一點:
using System; namespace CalculatorApplication { class NumberManipulator { public void swap(ref int x, ref int y) { int temp; temp = x; /* save the value of x */ x = y; /* put y into x */ y = temp; /* put temp into y */ } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); /* local variable definition */ int a = 100; int b = 200; Console.WriteLine("Before swap, value of a : {0}", a); Console.WriteLine("Before swap, value of b : {0}", b); /* calling a function to swap the values */ n.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 : 100 Before swap, value of b : 200 After swap, value of a : 200 After swap, value of b : 100
它表明,該值已在交換函數內被改變,這種變化反映在Main函數中。