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)進行賦值
isTrue = true;
}
catch
{
isTrue = false;
result = 0;
}
return isTrue;
}該方法返回類型為bool類型,在返回bool類型的同時也順帶返回了int類型的result變量。即,返回兩種變量類型。
ref參數(shù)
ref參數(shù)在定義的方法內(nèi)對其進行處理,再將結(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ù)組類型一致的元素都當做數(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ù),計算一個同學的總成績
/// 在params使用的時候必須將其放在最后一個參數(shù),如下所示!
/// </summary>
/// <param name="name">姓名</param>
/// <param name="number">學號</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}的學號是{1},總分為{2}", name, number, sum);
}到此這篇關(guān)于C#中的out參數(shù)、ref參數(shù)和params可變參數(shù)用法的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#線程委托BeginInvoke與EndInvoke的用法
這篇文章介紹了C#線程委托BeginInvoke與EndInvoke的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
C#使用晚綁定來實現(xiàn)壓縮Access數(shù)據(jù)庫的方法
這篇文章主要介紹了C#使用晚綁定來實現(xiàn)壓縮Access數(shù)據(jù)庫的方法,項目開發(fā)中有一定的實用價值,需要的朋友可以參考下2014-08-08
C#實現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法
這篇文章主要介紹了C#實現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法,實例分析了C#泛型的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
C#實現(xiàn)Menu和ContextMenu自定義風格及contextMenu自定義
ContextMenu 類表示當用戶在控件或窗體的特定區(qū)域上單擊鼠標右鍵時會顯示的快捷菜單,要想實現(xiàn)自定義的Menu和ContextMenu效果,大家可以通過派生ProfessionalColorTable類,下面小編把實現(xiàn)Menu和ContextMenu自定義風格及ContextMenu自定義給大家整理一下2015-08-08
c++ STL之list對結(jié)構(gòu)體的增加,刪除,排序等操作詳解
這篇文章主要介紹了c++ STL之list對結(jié)構(gòu)體的增加,刪除,排序等操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

