Linq查询以对集合进行排序
本文关键字:排序 集合 查询 Linq | 更新日期: 2023-09-27 18:20:02
我自定义了一个集合LoanOptionsProgramVersionList
,它具有bolean属性Configured
、字符串Description
和Code
。在从集合中插入和删除时,我希望按以下顺序对集合进行排序。因此,插入到配置的数据库中的一条记录变为"是"。删除后,Configured
变为"否"。所以它是Notify属性。
- 按配置排序
- 然后通过描述
- 然后通过代码
插入后,我尝试了以下代码。
IOrderedEnumerable<ProgramVersionRecord> orderedList =
LoanOptionsProgramVersionList
.OrderByDescending(p => p.ProgramVersionConfigured == true);
下面还有删除的代码
IOrderedEnumerable<ProgramVersionRecord> orderedList =
LoanOptionsProgramVersionList.OrderBy(p => p.Description);
任何帮助都将不胜感激。
使用ThenBy
IOrderedEnumerable<ProgramVersionRecord> orderedList = LoanOptionsProgramVersionList
.OrderByDescending(p => p.ProgramVersionConfigured) // configured has priority
.ThenBy(p => p.Description)
.ThenBy(p => p.Code);
按ProgramVersionConfigured
属性排序时,请使用此属性,而不是布尔值的比较结果。还可以使用ThenBy
添加另一个排序:
LoanOptionsProgramVersionList.OrderByDescending(p => p.ProgramVersionConfigured)
.ThenBy(p => p.Description)
.ThenBy(p => p.Code)