覆盖第二个可选参数,而保留第一个可选参数

时间:2018-06-28 18:33:27

标签: c# optional-parameters

我对C#还是很陌生,所以我正在寻找一种方法来仅重写某些可选参数,而让其他参数保持不动。我会有这样的东西:

Private void DoSomething(string Var1, int Var2 = 0, string Var3 = "TEST"){//Do something}

然后,当我尝试执行此操作时:

DoSomething("my variable",,"OK");

我总是会收到一条错误消息,指出缺少参数。有没有一种方法可以覆盖可选参数而不覆盖可选参数?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您使用命名参数:

DoSomething("My variable",Var3:"OK");

答案 1 :(得分:1)

简短回答:是

更长的答案:使用参数名称,最好对这些参数使用明确的名称。

示例:

DoSomething(Var1: "my variable", Var3:"OK");