当使用Enumerable.FirstorDefault()时,我是否需要捕获可能抛出的ArgumentNullException异常,当操作的集合为null时?
过去,我总是像这样做:
在这段代码片段的情况下,我不认为ColorItems会是null,但是把每个类似这样的片段都放在try catch块中,以便处理ColorItems集合可能为null的情况,这是一个好习惯吗?
过去,我总是像这样做:
WorkflowColorItemType associatedColor = ColorItems
.Where(ci => ci.AssociatedState == WorkflowStateStatus.NotStarted)
.FirstOrDefault();
if (associatedColor != null)
{
this.ColorItems.CurrentColor = associatedColor;
}
在这段代码片段的情况下,我不认为ColorItems会是null,但是把每个类似这样的片段都放在try catch块中,以便处理ColorItems集合可能为null的情况,这是一个好习惯吗?