c# 方法可變數(shù)量的參數(shù)
更新時(shí)間:2012年10月29日 13:40:42 作者:
這個(gè)方法除去params,是一個(gè)普通的方法,接受int數(shù)組,返回組中的所以項(xiàng)之和
聲明一個(gè)可變數(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;
}
上面這個(gè)方法除去params,是一個(gè)普通的方法,接受int數(shù)組,返回組中的所以項(xiàng)之和。
我們可以這樣調(diào)用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時(shí),由于params關(guān)鍵字,是可以編譯通過和運(yùn)行的。
params只能應(yīng)用于方法參數(shù)中的最后一個(gè)。
在c#編譯器發(fā)現(xiàn)Add(1,2,3)時(shí),會(huì)先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調(diào)用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個(gè)數(shù)組里,然后調(diào)用Add(int[] values)方法。
這里也說明CLR對params關(guān)鍵字是一無所知的,params只是提供給c#編譯器使用的。
復(fù)制代碼 代碼如下:
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;
}
上面這個(gè)方法除去params,是一個(gè)普通的方法,接受int數(shù)組,返回組中的所以項(xiàng)之和。
我們可以這樣調(diào)用:Add(new int[]{1,2,3});
但是閱讀性不是很高,我們希望能更簡潔:
Add(1,2,3);
這時(shí),由于params關(guān)鍵字,是可以編譯通過和運(yùn)行的。
params只能應(yīng)用于方法參數(shù)中的最后一個(gè)。
在c#編譯器發(fā)現(xiàn)Add(1,2,3)時(shí),會(huì)先尋找是否有Add(int i,int j,int k)匹配的方法,
如果有就調(diào)用,沒有,就尋找是否有定義為Add(params int[] values)的方法,
如果有就把1、2、3先保存到一個(gè)數(shù)組里,然后調(diào)用Add(int[] values)方法。
這里也說明CLR對params關(guān)鍵字是一無所知的,params只是提供給c#編譯器使用的。
相關(guān)文章
基于動(dòng)態(tài)修改App.Config與web.Config的使用詳解
本篇文章是對動(dòng)態(tài)修改App.Config與web.Config的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05詳解如何在ASP.NET Core配置請求超時(shí)中間件
本文參考官方文檔,為大家詳細(xì)介紹如何使用Asp.net core 8.0 的最小API 模板項(xiàng)目,配置超時(shí)中間件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-01-01C#實(shí)現(xiàn)隨鼠標(biāo)移動(dòng)窗體實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)隨鼠標(biāo)移動(dòng)窗體實(shí)例,主要通過簡單的窗體事件代碼即可實(shí)現(xiàn)鼠標(biāo)隨窗體移動(dòng)的功能,非常簡單實(shí)用,需要的朋友可以參考下2014-10-10C#結(jié)合SMTP實(shí)現(xiàn)郵件報(bào)警通知的實(shí)現(xiàn)示例
這篇文章主要介紹了C#結(jié)合SMTP實(shí)現(xiàn)郵件報(bào)警通知的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07C#利用OLEDB實(shí)現(xiàn)將DataTable寫入Excel文件中
這篇文章主要為大家詳細(xì)介紹了C#如何利用OLEDB實(shí)現(xiàn)將DataTable寫入Excel文件中,文中的示例代碼簡潔易懂,具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02