在C#代码中是否有位置参数不足的情况?
我真的没有看到命名参数的任何好处,相反,我可以看到命名参数的过度使用会使代码难以阅读吗?所以我的问题是,为什么有人会使用它们,如何帮助我们编写更好的代码,因为我确信他们没有理由实现?
我真的没有看到命名参数的任何好处,相反,我可以看到命名参数的过度使用会使代码难以阅读吗?所以我的问题是,为什么有人会使用它们,如何帮助我们编写更好的代码,因为我确信他们没有理由实现?
这对我来说看起来更清洁
private void Foo(1,true);
然后:
private void Foo(bar: 1,baz: true);
解决方法
命名的参数是为了提高可读性.例如我刚刚使用了一个
public void MarkAsDone(bool skipped) {}
MarkAsDone(true); //does true mean that it is successfully done?
MarkAsDone(skipped: true);
我认为使用命名参数使客户端代码的含义不那么模糊.
一个部分可以用来唯一标识一个可选参数,当有多个相同的类型
MarkAsDone(int first,int second=0,int third=0) {} /// MarkAsDone(1,third: 3);