0

我有一个自定义的集合LoanOptionsProgramVersionList,它具有布尔属性Configured、字符串DescriptionCode。在从集合中插入和删除时,我想按以下顺序对集合进行排序。因此,插入数据库的一条记录配置为是。删除时Configured变为“否”。所以它通知财产。

  1. 按配置排序
  2. 然后通过描述
  3. 然后通过代码

我在插入后尝试了以下代码。

IOrderedEnumerable<ProgramVersionRecord> orderedList =    
     LoanOptionsProgramVersionList
         .OrderByDescending(p => p.ProgramVersionConfigured == true);

同样在删除代码下方

 IOrderedEnumerable<ProgramVersionRecord> orderedList =
      LoanOptionsProgramVersionList.OrderBy(p => p.Description);

任何帮助将不胜感激。

4

2 回答 2

4

利用ThenBy

IOrderedEnumerable<ProgramVersionRecord> orderedList = LoanOptionsProgramVersionList
    .OrderByDescending(p => p.ProgramVersionConfigured) // configured has priority
    .ThenBy(p => p.Description)
    .ThenBy(p => p.Code);
于 2013-06-27T09:57:48.560 回答
1

当按属性排序时,ProgramVersionConfigured使用此属性而不是与布尔值比较的结果。也用于ThenBy添加另一个排序:

 LoanOptionsProgramVersionList.OrderByDescending(p => p.ProgramVersionConfigured)
                              .ThenBy(p => p.Description)
                              .ThenBy(p => p.Code)
于 2013-06-27T09:58:05.183 回答