我可以避免传递可选参数的默认值吗?

时间:2017-12-05 06:14:37

标签: c#

背景

此方法接受3个可选参数(使用默认值)

public void Test(string Name, int p1 = 1, int p2 = 2, int p3 = 3)
{
   // do something
}

可以通过以下方式调用:

Test("Something");

如果我需要覆盖p1

Test("Something", 5);

问题:

有没有办法覆盖p3而不将值传递给p1p2?所以我可以使用p1p2的默认值而不传递它们。

我需要类似的东西:

Test("Something", default, default, 50);

1 个答案:

答案 0 :(得分:2)

您可以通过指定参数名称

来完成
toggleVar = !toggleVar;