某些C#可选参数的可选规范
假设您有一个具有以下签名的方法:某些C#可选参数的可选规范,c#,c#-4.0,optional-parameters,named-parameters,C#,C# 4.0,Optional Parameters,Named Parameters,假设您有一个具有以下签名的方法: public void SomeMethod(bool foo = false, bool bar = true) { /* ... */ } 调用此方法时,是否有方法指定bar而不是foo的值?它看起来像 SomeMethod(_, false); 。。。这就意味着 SometMethod(false, false); 。。。在编译时。这可能吗?使用C#4,您可以通过两种方式为函数指定参数: 位置:始终支持的内容 :您可以指定每个参数的名称并按任意顺序排
public void SomeMethod(bool foo = false, bool bar = true) { /* ... */ }
调用此方法时,是否有方法指定bar
而不是foo
的值?它看起来像
SomeMethod(_, false);
。。。这就意味着
SometMethod(false, false);
。。。在编译时。这可能吗?使用C#4,您可以通过两种方式为函数指定参数:
static void test(bool f1 = false, bool f2 = false)
{
//f1 == false and f2 == true
}
static void Main(string[] args)
{
test(f2: true);
}
看看命名参数
SomeMethod(bar: false);
这里有很好的资源: