C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法介紹
out參數(shù):
out關(guān)鍵字 通過引用來傳遞參數(shù),在定義方法和調(diào)用方法的時(shí)候都必須使用out關(guān)鍵字
簡(jiǎn)單來講out可以用來返回多個(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é)果返回,定義方法無需多余的返回類型。
ref參數(shù)和out 的的區(qū)別 out必須在定義方法內(nèi)部賦值,ref必須在調(diào)用方法之前為其實(shí)參賦值。
static void Main(string[] args)
{
//使用ref參數(shù)來交換兩個(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)文章
C#線程委托BeginInvoke與EndInvoke的用法
這篇文章介紹了C#線程委托BeginInvoke與EndInvoke的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
C#實(shí)現(xiàn)將選中復(fù)選框的信息返回給用戶的方法
這篇文章主要介紹了C#實(shí)現(xiàn)將選中復(fù)選框的信息返回給用戶的方法,涉及C#針對(duì)復(fù)選框操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
C#使用晚綁定來實(shí)現(xiàn)壓縮Access數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了C#使用晚綁定來實(shí)現(xiàn)壓縮Access數(shù)據(jù)庫(kù)的方法,項(xiàng)目開發(fā)中有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法
這篇文章主要介紹了C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法,實(shí)例分析了C#泛型的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C#實(shí)現(xiàn)Menu和ContextMenu自定義風(fēng)格及contextMenu自定義
ContextMenu 類表示當(dāng)用戶在控件或窗體的特定區(qū)域上單擊鼠標(biāo)右鍵時(shí)會(huì)顯示的快捷菜單,要想實(shí)現(xiàn)自定義的Menu和ContextMenu效果,大家可以通過派生ProfessionalColorTable類,下面小編把實(shí)現(xiàn)Menu和ContextMenu自定義風(fēng)格及ContextMenu自定義給大家整理一下2015-08-08
c++ STL之list對(duì)結(jié)構(gòu)體的增加,刪除,排序等操作詳解
這篇文章主要介紹了c++ STL之list對(duì)結(jié)構(gòu)體的增加,刪除,排序等操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12

