C# - 如何跳过具有默认值的参数?

标签 c# parameter-passing optional-parameters

考虑以下方法示例:

public void MyMethod (string par1, bool par2 = "true", string par3="")
{
}

现在假设我调用 MyMethod 并将 par3 的值设置为“IamString”。

如果不将 par2 的值设置为 true 或 false,我怎么能做到这一点?

我基本上想将 par2 值保留为默认值。

我问这个是因为在 Flash 的 ActionScript 中可以通过使用关键字 default 来做到这一点,所以我可以调用 MyMethod ("somestring", default, "IamString") 并且 par2 将是解释为 true,这是它的默认值。我想知道在 C# 中是否也可以。

最佳答案

public void MyMethod (string par1, bool par2 = "true", string par3=""){}
Myclass.MyMethod(par1:"par1", par3:"par3");

顺便说一句,这行不通:bool par2 = "true"

string par2 = "true"

bool par2 = true

谈到默认值,您还可以使用它来获取特定类型的默认值:

默认(T)

关于C# - 如何跳过具有默认值的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901546/

相关文章:

c# - 如何获取已阅读的内容

c# - 检查是否选择了 ComboBox 值

c# - 如何修复我的 MVC3 路由

functional-programming - 在 nim 中传递函数

matlab:lsqcurvefit 和参数

c# - 为什么我在使用 ffmpeg 和管道实时创建视频文件时得到奇怪的视频文件?

swift - 通过委托(delegate)传递类 : property not updated

gridview - 如何获取值以从组合框 extjs 4 传递参数

java - Json MongoDb 查询中的 Spring-boot 可选 ArrayList 参数

c - Kernighan/Ritchie 的第 5.10 节命令行参数/可选参数