2013年9月10日 星期二

[轉貼] c#可變數目參數params

出處:http://www.sosuo8.com/article-2012/kebianshumucanshu.htm

內容部分來自 王濤著《你必須知道的.NET》
一般來說,參數個數都是固定的,定義為集群類型的參數可以實現可變數目參數的目的,但是.NET提供了更靈活的機制來實現可變數目參數,這就是使用params修飾符。可變數目參數的好處就是在某些情況下可以方便地對參數個數不確定情況的實現,例如計算任意數字的加權和,鏈接任意字符串為一個字符串等。看下例子:
public class Test
{
    public static void Main()
    {
        ShowName("小兵");
        ShowName("小王""小六");

        //使用 params 關鍵字,指定可變數目且多種型別引數的方法參數
        object[] myObjArray = { 2, 'b', "test", "again" };
        UseParams(myObjArray);
    }

    public static void ShowName(params string[] names)
    {
        foreach (string name in names)
        {
            Console.WriteLine(name);
        }
    }
      
    public static void UseParams(params object[] list)
    {
        for (int i = 0; i < list.Length; i++)
        {
            Console.Write(list[i] + " ");
        }
    }
}
注意:
1、params修飾的參數必須為一維數組。
2、params修飾的參數數組,可以為任何類型,只要設置數組類型為object就可以。
3、params必須在參數列表的最後一個,並且只能使用一次。

參考:
http://msdn.microsoft.com/zh-tw/library/w5zay9db.aspx

沒有留言:

張貼留言