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