参数数组允许将可变数量的参数传递给方法:
static void Method(params int[] array)
{}
Run Code Online (Sandbox Code Playgroud)
但我没有看到它们的用处,因为通过指定特定数组类型的参数可以实现相同的结果:
static void Method(int[] array)
{}
Run Code Online (Sandbox Code Playgroud)
那么参数数组有什么好处(如果有的话)有数组类型的值参数?
谢谢
这只是一个代码可读性的东西.例如,string.Format:
string value = string.Format("SomeFormatString", param1, param2, param3, param4.... param999);
Run Code Online (Sandbox Code Playgroud)
它可以在不同的生命周期中这样写:
string value = string.Format("SomeFormatString", new string[] { param1, param2, param3 });
Run Code Online (Sandbox Code Playgroud)
最后,使代码更容易阅读和更容易理解只是语法糖.
好处是编译器会自动为您创建数组:
string coor = String.Concat("x=", x, ", y=", y);
Run Code Online (Sandbox Code Playgroud)
为您生成的代码实际上是:
string coor = String.Concat(new string [] { "x=", x, ", y=", y });
Run Code Online (Sandbox Code Playgroud)
您甚至可以两全其美。如果您碰巧将数据存储在数组中,则可以将其传递给具有参数的方法params。