c# 方法可變數量的參數

來源:互聯網
上載者:User

聲明一個可變數量的參數: 複製代碼 代碼如下: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#編譯器發現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#編譯器使用的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.