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è)泛型方法。