IEnumerable<ColorRow> result = (from a in Fruit.Apple.Colors where (a.color == "red") select a);
如果我尝试使用result.Any()或Count(),它会在没有返回结果时抛出异常,我理解上面的ColorRow将为null,但我该如何检查?
将上面改为var结果帮助它等同于Colrow result = new ColorRow ??
不确定如何处理上面的IEnumerable为null,为空。
我目前正在尝试捕捉,但似乎并不干净。
try
{
result.FirstOrDefault().Color= "pink";
return true;
}
catch
{
return false;
}
答案 0 :(得分:0)
我目前正在尝试捕捉,但似乎并不干净。
您可以检查对象是否为null,然后比较颜色,而不是尝试catch。
var temp = result.FirstOrDefault();
if(temp != null && temp.Color == "Pink")
return true;
else
return false;
关于Any
和Count
的其他问题,您确定您的代码正在编译,因为您似乎在查询Fruit.Apple.Colors
并且您正在创建ColorRow
的IEnumerable ,应该是:
IEnumerable<Color>....
(如果使用隐式类型(var)修复问题,可能是你在分配中使用了错误的类型)