【发布时间】:2019-12-02 15:06:19
【问题描述】:
我需要使用 LINQ 以降序从数据库返回项目。
这是我的代码:
var productItems = dbResult.ProductItems;
resultObj.productItems = productItems.OrderByDescending(x => x.CreatedDate).ToList();
我想知道如果productItems 为空,如果我在可能的空列表上应用OrderByDescending,代码可能会中断吗?
那么如何正确处理呢?
【问题讨论】:
-
也许使用
?.operator? -
@UweKeim 你能写例子吗?如果列表为空但是你能写出会发生什么吗?被申请;被应用。谢谢老哥
-
您还想显示空值还是完全删除它们?您可以使用 .Where() 删除空值。
-
@MarcusLai Huuum?
null.OrderBy只会抛出一个 NRE,OrderBy在包含null-elements 的列表上也会抛出一个 NRE,至少如果您使用传递给OrderBy的委托中的任何元素成员。 -
@MarcusLai “如果你在一个空列表上运行 OrderbyDescending,它只会返回空”会得到一个空引用异常
标签: c# entity-framework linq generic-list