c#创建一个不需要输入默认参数的方法

pQu*_*123 1 c#

我意识到这可能是一个相当简单的问题.不过,这给了我麻烦.

我想创建一个方法,用户只需要提供许多参数之一.我认为这样做的方法是使用默认参数.但是,在过去,当我写这些时,我总是遇到以下问题:

如果我有一个方法:

public void methodName (int a = 1, int b = 2, int c = 3) {
...
}
Run Code Online (Sandbox Code Playgroud)

如果没有为a和b提供默认值,那么想要仅使用参数c的方法的人如何使用该方法?

我的意思是,如果用户调用这样的方法:

methodName(8)
Run Code Online (Sandbox Code Playgroud)

编译器会理解a = 8.看起来用户被迫提供参数,即使它们是默认值,如下所示:

methodName(1, 2, 8)
Run Code Online (Sandbox Code Playgroud)

现在,显然对于这个简单的例子我可以创建一个这样的方法:

public void methodName(List<int>) {
}
Run Code Online (Sandbox Code Playgroud)

然后用户只能提供列表中的第三个值.

如果我有很多类型的参数,我该怎么办?

提前致谢.

Bra*_*tie 8

你正在寻找一个命名参数1.为了坚持你的例子,开发人员会打电话:

methodName(c: 8);
Run Code Online (Sandbox Code Playgroud)

1:命名和可选参数