小编Fir*_*ake的帖子

在条件表达式中检查可空bool的最佳方法(如果...)

我想知道对可空的bool进行条件检查最干净,最易理解的语法是什么.

以下是编码风格的好坏吗?有没有办法更好/更干净地表达条件?

bool? nullableBool = true;
if (nullableBool ?? false) { ... }
else { ... }
Run Code Online (Sandbox Code Playgroud)

尤其是if(nullableBool ?? false)部分.我不喜欢这种if (x.HasValue && x.Value)风格......

(不确定之前是否问过这个问题......找不到与搜索类似的内容)

c# coding-style nullable

187
推荐指数
9
解决办法
10万
查看次数

编译器警告(模糊)方法解析与命名参数

关于以下代码是否应该产生编译器警告的一个问题(它没有).它声明了两个相同名称/返回类型的方法,一个具有默认值的附加命名/可选参数.

注意:从技术上讲,分辨率并不含糊,因为规则明确规定第一种方法将被调用.请参见此处,重载分辨率,第三个要点.毫无疑问,这种行为对我来说也很直观.

public void Foo(int arg) { ... }

public void Foo(int arg, bool bar = true) { ...} 

Foo(42); // shouldn't this give a compiler warning?
Run Code Online (Sandbox Code Playgroud)

我认为编译器警告在这里会很直观.虽然代码在技术上是干净的(无论是声音设计是一个不同的问题:)).

named-parameters c#-4.0

6
推荐指数
1
解决办法
269
查看次数

标签 统计

c# ×1

c#-4.0 ×1

coding-style ×1

named-parameters ×1

nullable ×1