C# 程式設計/關鍵字/params
外觀
< C Sharp 程式設計 | 關鍵字
關鍵字params用於描述將一組引數傳遞給方法時,引數的數量並不重要,因為它們可能會有所不同。 由於數量並不重要,因此params關鍵字必須是方法簽名中的最後一個變數,以便編譯器可以在處理params之前處理已定義的引數。
以下是一些示例,說明它在哪裡可以工作,以及在哪裡不能工作
// This works
public static void AddToShoppingBasket(decimal total, params string[] items)
{
// ....
}
// This works
public static void AddToShoppingBasket(decimal total, int totalQuantity, params string[] items)
{
// ....
}
// THIS DOES NOT WORK <-------------------->
public static void AddToShoppingBasket(params string[] items, decimal total, int totalQuantity)
{
// ....
}
String.Format方法就是一個很好的例子。 String.Format方法允許使用者傳入一個格式化字串以滿足他們的要求,然後傳入許多引數以供插入字串中的值。 以下是一個示例
public static string FormatMyString(string format, params string[] values)
{
string myFormat = "Date: {0}, Time: {1}, WeekDay: {1}";
return String.Format(myFormat, DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), DateTime.Now.DayOfWeek);
}
// Output will be something like:
//
// Date: 7/8/2007, Time: 13:00, WeekDay: Tuesday;
//
String.Format 方法接受一個字串,並用第 1、第 2 和第 3 個引數替換 {0}、{1}、{2}。 如果params關鍵字不存在,那麼String.Format()將需要無限數量的過載來滿足每種情況。
public string Format(string format, string param1)
{
// .....
}
public string Format(string format, string param1, string param2)
{
// .....
}
public string Format(string format, string param1, string param2, string param3)
{
// .....
}
public string Format(string format, string param1, string param2, string param3, string param4)
{
// .....
}
public string Format(string format, string param1, string param2, string param3, string param4, string param5)
{
// .....
}
// To infinitum
| C# 關鍵字 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 特殊的 C# 識別符號(上下文關鍵字) | |||||||||||||||
| |||||||||||||||
| 上下文關鍵字(在查詢中使用) | |||||||||||||||
|