C# Params

2023-03-06

筆記如何使用 C# Params 設計支援變動參數數量的方法。

logo

說明

Params 是一種 C# 的關鍵字,可以讓你傳遞可變長度的參數給一個 Method。相當於可以在不知道參數數量的情況下進行傳遞。

比如要寫一個計算總和的 Method。我們可以這樣定義 Method:

public int CalculateSum(params int[] numbers)
{
    int sum = 0;
    foreach (int number in numbers)
    {
        sum += number;
    }
    return sum;
}

呼叫 Method 的方式:

int sum1 = CalculateSum(1, 2, 3);
int sum2 = CalculateSum(1, 2, 3, 4, 5);
int sum3 = CalculateSum();

其他應用範例

不定數量的訊息顯示。

public static void Display(params object[] messages)
{
    foreach (object message in messages)
    {
        Console.WriteLine(message);
    }
}

計算數值的彙總資料,例如取最大值。

public static int Max(params int[] numbers)
{
    if (numbers.Length == 0)
    {
        throw new ArgumentException("At least one argument must be provided.");
    }

    int max = numbers[0];
    for (int i = 1; i < numbers.Length; i++)
    {
        if (numbers[i] > max)
        {
            max = numbers[i];
        }
    }
    return max;
}

參考資料

Params | learn.microsoft