如何从PageNewsEntry集合中筛选最新4条数据存入指定集合
实现新闻数据筛选逻辑
我们需要从存储全部新闻数据的IEnumerable<PageNewsEntry>类型集合allNews中,筛选出最新的4条数据存入IEnumerable<PageNewsEntry>类型的latestNews集合,PageNewsEntry类的Date属性可用于获取新闻发布日期。
完整实现代码
// 获取全部新闻数据 IEnumerable<PageNewsEntry> allNews = node.Children<PageNewsEntry>(); // 筛选最新4条新闻:按日期倒序排序后取前4条,处理空集合情况 IEnumerable<PageNewsEntry> latestNews = allNews?.OrderByDescending(news => news.Date)?.Take(4) ?? Enumerable.Empty<PageNewsEntry>();
逻辑说明
- 使用
OrderByDescending(news => news.Date)将新闻按发布日期从新到旧排序 - 使用
Take(4)截取排序后的前4条数据,得到最新的4条新闻 - 通过
?.空条件运算符和??空合并运算符,处理allNews为null的情况,确保返回一个空的可枚举集合,避免后续渲染HTML时出现空引用异常
内容的提问来源于stack exchange,提问作者user12608634
相关产品推荐
相关产品推荐

