是否有更简洁的方法来检查一个对象是否为假

本文关键字:是否 检查 一个对象 方法 简洁 | 更新日期: 2023-09-27 17:49:02

是否有更简洁的方式来写这个?

if (!(obj is bool) || (bool)obj)

在PHP或JS中可以写

if (obj !== false) // note the double == to indicate a type-check

它只是有点难读,而且在c#中语法很难看。


为了绝对清楚,objobject

是否有更简洁的方法来检查一个对象是否为假

if (!false.Equals(obj))  { ... }

编辑:既然我不想让@BoltClock失去视力,这里有一些可能更好的东西:

if ((bool?)obj != false) { ... }

编辑2:不要尝试我把上面,因为它不会工作,如果objbool?bool以外的类型

是的,有。修改代码,使obj的类型为bool而不是object

在代码的某个地方,您将bool转换为对象。你为什么那么做?找到该位置并保留为bool

这是c#而不是PHP或JS。c#是强类型的 -使用这个事实!

试试这个,它很容易阅读,有时代码需要易读…

if (obj.Equals(false))