c# param 是否支持動(dòng)態(tài)參數(shù)

c#
小樊
81
2024-09-04 14:58:19

C# 語(yǔ)言本身不直接支持動(dòng)態(tài)參數(shù),但可以使用 params 關(guān)鍵字來(lái)實(shí)現(xiàn)類(lèi)似的功能

例如,下面的代碼定義了一個(gè)方法,該方法接受任意數(shù)量的整數(shù)作為參數(shù):

public static void PrintNumbers(params int[] numbers)
{
    foreach (int number in numbers)
    {
        Console.WriteLine(number);
    }
}

然后,你可以像這樣調(diào)用該方法:

PrintNumbers(1, 2, 3, 4, 5);

或者:

int[] numbers = new int[] { 1, 2, 3, 4, 5 };
PrintNumbers(numbers);

在這兩種情況下,PrintNumbers 方法都會(huì)打印出傳入的整數(shù)。

需要注意的是,params 關(guān)鍵字只能用于方法的最后一個(gè)參數(shù),并且該參數(shù)必須是一個(gè)數(shù)組類(lèi)型。此外,params 關(guān)鍵字不支持泛型參數(shù),例如 List<T>IEnumerable<T>。如果需要使用泛型參數(shù),可以考慮使用 params object[] 或者自定義一個(gè)泛型方法。

0