我有20条记录
我想根据Priority
字段订购记录。
Priority
字段有3个值(High, Medium, Low
)
我想分别按顺序显示High, Medium, Low
条记录中的记录。
var groupedRecords = records.GroupBy(x => x.Priority == "High") // confused here...
注意:我希望首先所有高记录,然后中等记录和 atlast 低记录。
答案 0 :(得分:6)
为什么将优先级映射到整数:
High -> 1
Medium -> 2
Low -> 3
所以它可以是这样的:
var groupedRecords = records.
OrderBy(x => (x.Priority == "High")
? 1
: (x.Priority == "Medium") ? 2 : 3);
答案 1 :(得分:3)
您希望订购列表,因此请使用OrderBy
或OrderByDescending
扩展程序。
var orderedRecords = records.OrderByDescending(x => x.Priority == "High").ThenByDescending(x => x.Priority == "Medium");