使用带有 params 的函数的两个重载和与 params 相同类型的变量
Using two overloads of a function with params and a variable of the same type as params
我正在写一个 class 有两个不同的构造函数重载:
public class MyClass
{
public MyClass(params string[] Files)
{
}
public MyClass(string Path, params string[] Files)
{
}
}
在我写完之后,我的代码让我感到困惑,我怎么知道变量 Path
是否作为参数给出。
程序没有错误,但我想知道如果我 运行 下面的代码,如何理解是否给出了 Path
?
MyClass x = new Myclass("a","b","c");
可以是
Path = "a";
Files = string[]{"b","c"};
或者只是
Files = string[]{"a", "b", "c"};
尝试使用命名参数:
MyFunction(parameter1: value1, parameter2: value2);
我正在写一个 class 有两个不同的构造函数重载:
public class MyClass
{
public MyClass(params string[] Files)
{
}
public MyClass(string Path, params string[] Files)
{
}
}
在我写完之后,我的代码让我感到困惑,我怎么知道变量 Path
是否作为参数给出。
程序没有错误,但我想知道如果我 运行 下面的代码,如何理解是否给出了 Path
?
MyClass x = new Myclass("a","b","c");
可以是
Path = "a";
Files = string[]{"b","c"};
或者只是
Files = string[]{"a", "b", "c"};
尝试使用命名参数:
MyFunction(parameter1: value1, parameter2: value2);