У меня есть следующий запрос LINQ, который запускает и исключает, когда FirstOrDefault()
возвращает null. В идеале я бы хотел избежать нулевой проверки. Есть ли способ сделать это? Я хочу вернуть 0
, если нет CPOffsets
, которые удовлетворяют вызову FirstOrDefault()
.
double offset = OrderedOffsets.FirstOrDefault(o => o.OffsetDateTime > cpTime).CPOffset;
Единственный способ, который я вижу для достижения этого, - это следующее:
CPOffset cpOffset = OrderedOffsets.FirstOrDefault(o => o.OffsetDateTime > cpTime);
double offset = cpOffset != null ? cpOffset.CPOffset : 0;
Есть ли еще более сжатый способ? Использование Select()
после того, как FirstOrDefault()
не скомпилируется, но я подумал, что здесь может быть уместно?