c# 方法可變數量的參數
更新時間:2012年10月29日 13:40:42 作者:
這個方法除去params,是一個普通的方法,接受int數組,返回組中的所以項之和
聲明一個可變數量的參數:
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數組,返回組中的所以項之和。
我們可以這樣調用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時,由于params關鍵字,是可以編譯通過和運行的。
params只能應用于方法參數中的最后一個。
在c#編譯器發(fā)現Add(1,2,3)時,會先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個數組里,然后調用Add(int[] values)方法。
這里也說明CLR對params關鍵字是一無所知的,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數組,返回組中的所以項之和。
我們可以這樣調用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時,由于params關鍵字,是可以編譯通過和運行的。
params只能應用于方法參數中的最后一個。
在c#編譯器發(fā)現Add(1,2,3)時,會先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個數組里,然后調用Add(int[] values)方法。
這里也說明CLR對params關鍵字是一無所知的,params只是提供給c#編譯器使用的。
相關文章
基于動態(tài)修改App.Config與web.Config的使用詳解
本篇文章是對動態(tài)修改App.Config與web.Config的使用進行了詳細的分析介紹,需要的朋友參考下2013-05-05
C#利用OLEDB實現將DataTable寫入Excel文件中
這篇文章主要為大家詳細介紹了C#如何利用OLEDB實現將DataTable寫入Excel文件中,文中的示例代碼簡潔易懂,具有一定的借鑒價值,需要的可以參考一下2023-02-02

