C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法介紹
out參數(shù):
out關(guān)鍵字 通過引用來傳遞參數(shù),在定義方法和調(diào)用方法的時候都必須使用out關(guān)鍵字
簡單來講out可以用來返回多個參數(shù)類型。
static void Main(string[] args) { string s = "123"; int result; bool b = MyTest(s,out result); } public static bool MyTest(string s, out int result) { bool isTrue; try { result = Convert.ToInt32(s);//使用out參數(shù)必須在定義方法內(nèi)進(jìn)行賦值 isTrue = true; } catch { isTrue = false; result = 0; } return isTrue; }
該方法返回類型為bool類型,在返回bool類型的同時也順帶返回了int類型的result變量。即,返回兩種變量類型。
ref參數(shù)
ref參數(shù)在定義的方法內(nèi)對其進(jìn)行處理,再將結(jié)果返回,定義方法無需多余的返回類型。
ref參數(shù)和out 的的區(qū)別 out必須在定義方法內(nèi)部賦值,ref必須在調(diào)用方法之前為其實參賦值。
static void Main(string[] args) { //使用ref參數(shù)來交換兩個數(shù)字的值 int a = 1; int b = 2; Change(ref a, ref b); Console.WriteLine("a{0},b{1}",a,b); Console.ReadKey(); } public static void Change(ref int a, ref int b) { int temp; temp = a; a = b; b = temp; }
注意 在定義方法的時候 可以不需要返回值啦~
params可變參數(shù)
將實參列表中與可變參數(shù)數(shù)組類型一致的元素都當(dāng)做數(shù)組的元素去處理。
params可變參數(shù)必須是形參的最后一個元素。
static void Main(string[] args) { //方法一:可以使用數(shù)組傳參 //int[] scores = {22,11,33}; //test("張三",11,scores) //方法二:也可以直接在調(diào)用的時候使用和數(shù)組類型一致的元素 test ("張三", 100, 22, 11, 33); Console.ReadKey(); } /// <summary> /// params測試函數(shù),計算一個同學(xué)的總成績 /// 在params使用的時候必須將其放在最后一個參數(shù),如下所示! /// </summary> /// <param name="name">姓名</param> /// <param name="number">學(xué)號</param> /// <param name="s">可變數(shù)組成績</param> public static void test(string name, int number, params int[] s) { int sum = 0; for (int i = 0; i < s.Length; i++) { sum = sum + s[i]; } Console.WriteLine("{0}的學(xué)號是{1},總分為{2}", name, number, sum); }
到此這篇關(guān)于C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ruby創(chuàng)建數(shù)組方法總結(jié)
在本篇文章里小編給大家分享了關(guān)于Ruby創(chuàng)建數(shù)組方法的知識點內(nèi)容,對戲有興趣的朋友們學(xué)習(xí)下。2019-01-01C# Color.FromArgb()及系統(tǒng)顏色對照表一覽
這篇文章主要介紹了C# Color.FromArgb()及系統(tǒng)顏色對照表一覽,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01C#循環(huán)與循環(huán)控制的表達(dá)式樹實現(xiàn)
這篇文章介紹了C#循環(huán)與循環(huán)控制的表達(dá)式樹實現(xiàn),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01C#使用BitConverter與BitArray類進(jìn)行預(yù)定義基礎(chǔ)類型轉(zhuǎn)換
這篇文章介紹了C#使用BitConverter與BitArray類進(jìn)行預(yù)定義基礎(chǔ)類型轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05