2

我有List<string>以下条目:

“夏天”、“春天”、“冬天”

我想写一个 .OrderBy() 来根据这个对它们进行排序:

public enum Term {
    Spring = 0, Summer, Fall, Winter, All
}

因此,我想看到的结果是:

“春天”、“夏天”、“冬天”

编辑 - 为澄清起见,并非每个客户都有所有可用的条款,但我只希望列表排序的一致性。

4

2 回答 2

6
var q = l.OrderBy (x => Enum.Parse(typeof(Term), x));
于 2013-01-24T19:47:10.297 回答
3
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();
于 2013-01-24T19:45:55.160 回答