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# 标识符(上下文关键字) | |||||||||||||||
| |||||||||||||||
上下文关键字(在查询中使用) | |||||||||||||||
|