C# 覆盖第二个可选参数,同时保留第一个可选参数

C# 覆盖第二个可选参数,同时保留第一个可选参数,c#,optional-parameters,C#,Optional Parameters,我对C#还是相当陌生,所以我正在寻找一种方法,只覆盖某些可选参数,而不去理会其他参数。我想要这样的东西: Private void DoSomething(string Var1, int Var2 = 0, string Var3 = "TEST"){//Do something} 然后,当我尝试这样做时: DoSomething("my variable",,"OK"); 我总是得到一个错误,说参数丢失。有没有一种方法可以覆盖可选参数而不覆盖其前面的可选参数 谢谢你的帮助。简短回答:是的

我对C#还是相当陌生,所以我正在寻找一种方法,只覆盖某些可选参数,而不去理会其他参数。我想要这样的东西:

Private void DoSomething(string Var1, int Var2 = 0, string Var3 = "TEST"){//Do something}
然后,当我尝试这样做时:

DoSomething("my variable",,"OK");
我总是得到一个错误,说参数丢失。有没有一种方法可以覆盖可选参数而不覆盖其前面的可选参数

谢谢你的帮助。

简短回答:是的

较长的回答:使用参数名称,最好为这些参数使用清晰的名称

例如:

DoSomething(Var1: "my variable", Var3:"OK");
简短回答:是的

较长的回答:使用参数名称,最好为这些参数使用清晰的名称

例如:

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

使用命名参数:

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

使用命名参数:

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