在使用String.Format()时,我总是会留下印象,在使用对象数组之前,你只能使用3个对象。
最近我发现情况并非如此,您可以根据需要添加。
如何做到这一点?它是否像动态重载一样,或者将它全部转换为数组。
//thought this was the max that could be sent in
String.Format(String, Object, Object, Object);
//before you had to do something like this
object[] format = new object[5];
format[0] = "abc";
...
String.Format(String, format);
// yet it seems you can do
String.Format(String, Object, Object, Object, Object, Object, Object, Object, Object, Object);
答案 0 :(得分:5)
这是params
关键字的用途。允许任意数量的参数。编写该方法以接受数组。编译器为您插入数组创建。
答案 1 :(得分:2)
它在方法参数上使用params关键字。所以方法定义如下:
public static string Format(string input, params object[] values)
{
}
您可以调用该函数,就好像它有n个参数一样,但它会作为数组传递给方法。
答案 2 :(得分:1)
使用params关键字,您可以编写从调用者角度获取可变数量参数的方法,并且编译器从被调用者的角度将其转换为数组。
答案 3 :(得分:1)
它使用params关键字
public static string Format(string template,params object[] data)
{
//
}
答案 4 :(得分:0)