是否有更清晰的方式来写这个?
if (!(obj is bool) || (bool)obj)
Run Code Online (Sandbox Code Playgroud)
在PHP或JS中你可以写
if (obj !== false) // note the double == to indicate a type-check
Run Code Online (Sandbox Code Playgroud)
它只是有点难以阅读,并且在C#中语法相当丑陋.
要绝对清楚,obj
是一个object
.
if (!false.Equals(obj)) { ... }
Run Code Online (Sandbox Code Playgroud)
编辑:因为我不希望@BoltClock失去视力,所以这里可能会更好:
if ((bool?)obj != false) { ... }
Run Code Online (Sandbox Code Playgroud)
编辑2:不要尝试我上面提到的内容,因为如果obj
是bool?
或者类型以外它将不起作用bool
.
归档时间: |
|
查看次数: |
120 次 |
最近记录: |