c# 方法可變數(shù)量的參數(shù)
更新時間:2012年10月29日 13:40:42 作者:
這個方法除去params,是一個普通的方法,接受int數(shù)組,返回組中的所以項之和
聲明一個可變數(shù)量的參數(shù):
Static int Add(params int[] values)
{
int sum = 0;
if(value != null)
{
for(int x = 0;x<values.Length;x++)
sum += values[x];
}
return sum;
}
上面這個方法除去params,是一個普通的方法,接受int數(shù)組,返回組中的所以項之和。
我們可以這樣調(diào)用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時,由于params關(guān)鍵字,是可以編譯通過和運行的。
params只能應(yīng)用于方法參數(shù)中的最后一個。
在c#編譯器發(fā)現(xiàn)Add(1,2,3)時,會先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調(diào)用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個數(shù)組里,然后調(diào)用Add(int[] values)方法。
這里也說明CLR對params關(guān)鍵字是一無所知的,params只是提供給c#編譯器使用的。
復制代碼 代碼如下:
Static int Add(params int[] values)
{
int sum = 0;
if(value != null)
{
for(int x = 0;x<values.Length;x++)
sum += values[x];
}
return sum;
}
上面這個方法除去params,是一個普通的方法,接受int數(shù)組,返回組中的所以項之和。
我們可以這樣調(diào)用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時,由于params關(guān)鍵字,是可以編譯通過和運行的。
params只能應(yīng)用于方法參數(shù)中的最后一個。
在c#編譯器發(fā)現(xiàn)Add(1,2,3)時,會先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調(diào)用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個數(shù)組里,然后調(diào)用Add(int[] values)方法。
這里也說明CLR對params關(guān)鍵字是一無所知的,params只是提供給c#編譯器使用的。
相關(guān)文章
基于動態(tài)修改App.Config與web.Config的使用詳解
本篇文章是對動態(tài)修改App.Config與web.Config的使用進行了詳細的分析介紹,需要的朋友參考下2013-05-05C#結(jié)合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例
這篇文章主要介紹了C#結(jié)合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07C#利用OLEDB實現(xiàn)將DataTable寫入Excel文件中
這篇文章主要為大家詳細介紹了C#如何利用OLEDB實現(xiàn)將DataTable寫入Excel文件中,文中的示例代碼簡潔易懂,具有一定的借鑒價值,需要的可以參考一下2023-02-02