如何根据类的数字属性对类的对象数组进行排序

时间:2011-11-10 12:02:57

标签: c# arrays sorting

我将类的对象存储在同一个类的对象数组中。

MyClass[] objectsOfMyClass = new MyClass[9];

现在我想根据对象的数字属性按降序排列存储在数组中的对象。

3 个答案:

答案 0 :(得分:3)

objectsOfMyClass.OrderByDescending(obj => obj.NumericProperty)

有关您的信息,请使用Linq to objects

答案 1 :(得分:1)

您需要OrderByDescending。它不会对数组进行排序,而是返回正确排序的IEnumerable。

var orderedArray = objectsOfMyClass.OrderByDescending(m => m.MyProperty).ToArray();

根据您对结果所做的事情,ToArray可能没有必要。

答案 2 :(得分:1)

您可以使用Array.Sort()方法重载,它接受Comparison<T>

Array.Sort(objectsOfMyClass, (o1, o2) => o2.NumericProperty.CompareTo(o1.NumericProperty));