我有一个数组,其元素之一使用枚举。 我想按枚举对数组进行排序。
public enum EnumList
{
Spring,
Summer,
Fall,
Winter,
Unknown
};
我的数组如下:
Class1[] arr = new class1[7];
arr[0] = new class1(101, "Some string", Class1.EnumList.Spring, 100, DateTime.Parse("10/13/2008"));
.
.
array continues..
如何按枚举值排序?
答案 0 :(得分:2)
您可以使用IEnumerable.OrderBy。
如果您按枚举值排序,它将查看基础类型(通常为int)并以此进行排序。这意味着最好的解决方案就是这样:
arr.OrderBy(c => c.TheEnumProperty);
此方法将返回一个排序的IEnumerable,您可以使用IEnumerable.ToArray将其强制转换回数组。
答案 1 :(得分:0)
类似
var sortedByEnum = arr.GroupBy(x => x.enum).OrderBy(group => group);