按枚举名称对查询结果进行排序
本文关键字:结果 排序 查询 枚举 | 更新日期: 2023-09-27 17:56:07
我有一个包含以下条目的List<string>
:
"夏天"、"春天"、"冬天"
我想写一个.OrderBy() 基于此对它们进行排序:
public enum Term {
Spring = 0, Summer, Fall, Winter, All
}
因此,我希望看到的结果是:
"春天"、"夏天"、"冬天"
编辑 - 为了澄清起见,并非每个客户都有所有可用术语,但我只希望列表排序的一致性。
var q = l.OrderBy (x => Enum.Parse(typeof(Term), x));
List<string> terms = new List<string> { "Summer", "Spring", "Winter" };
var enumNames = Enum.GetNames(typeof(Term))
.OrderBy(s=>Enum.Parse(typeof(Term),s))
.ToList();
var orderedList = terms.OrderBy(s => enumNames.IndexOf(s)).ToList();