【发布时间】:2014-06-25 21:09:54
【问题描述】:
我在 C# 中有以下代码:
if (this.Trucks.Any() || this.Cars.Any())
{
return true;
}
return false;
但我刚刚意识到有时这些数组中的一个或其中一个为 null,所以在我的情况下,我希望 null 只返回 false(而不是抛出异常)。
我可以像这样添加预先的空检查:
if ((this.Trucks != null && this.Trucks.Any()) ||
(this.Cars != null && this.Cars.Any()))
{
return true;
}
return false;
}
但想看看是否有更清洁的方法
【问题讨论】:
-
创建一个扩展方法,如果该项为空或为空则返回 false stackoverflow.com/questions/14565881/…
-
你有没有想过捕获抛出的异常?
-
!!!!Collections Should Never Be Null!!!!。我怎么强调都不过分。在构造函数中设置
this.Trucks和this.Cars = new List<Whatever>()什么的。 -
从 C# 迁移到 F#
-
请只返回布尔表达式的结果,而不是真/假。