1 值傳遞 數組
函數定義時能夠設默認值,調用函數時不傳參數則函數內部使用默認值,設置默認值的參數必須放在末尾函數
值傳遞還有可變參數的傳遞 關鍵字 paramscode
2 引用傳遞 ref關鍵字blog
函數定義時不能設默認值string
3 輸出傳遞 out關鍵字 it
函數定義時不能設默認值class
注意:使用out關鍵字傳遞的參數須要在函數內部初始化foreach
/// <summary> /// C#參數傳遞方式 /// </summary> class Program { static void Main(string[] args) { int a = 0; TestValue(a); Console.WriteLine("**值傳遞*輸出 a={0}", a); a = 0; TestRef(ref a); Console.WriteLine("引用傳遞*輸出 a={0}", a); a = 0; TestOut(out a); Console.WriteLine("輸出傳遞*輸出 a={0}", a); //可變參數的兩種傳參方式 TestParams(a, 1, 2, 3, 1); int[] b = new int[] { 5,6,8,9}; TestParams(b); } /// <summary> /// 1值傳遞 /// </summary> static void TestValue(int a,int b=6) { Console.WriteLine("**值傳遞*輸入 a={0}", a); a = 10+b; } /// <summary> /// 引用傳遞 /// </summary> static void TestRef(ref int a) { Console.WriteLine("引用傳遞*輸入 a={0}", a); a = 10; } /// <summary> /// 輸出傳遞 /// </summary> static void TestOut(out int a) { //參數處於未賦值的狀態,必須在函數內部初始化 //Console.WriteLine("輸出傳遞*輸入 a={0}", a); a = 10; } /// <summary> /// 可變參數 /// </summary> /// <param name="a">能夠傳遞一個數組,也能夠傳遞單獨的數組元素</param> static void TestParams(params int[] a) { foreach (var item in a) { Console.Write(item + " "); } Console.WriteLine(); } }
以上代碼輸出結果:引用