Вы используете .NET 3.5? Если это так, это так же просто, как:
array = array.OrderBy(x => x.MemberName).ToArray();
Это создаст новый массив, хотя - если любой другой код имеет ссылку на старый массив, он все равно увидит несортированные данные.
В качестве альтернативы вы можете использовать метод Array.Sort
, который будет сортировать массив на месте одним из трех способов:
- Заставьте ваш тип реализовать
IComparable<T>
, позволяющий объекту сравнивать себя с другим
- Создать экземпляр
IComparer<T>
, который может сравнивать любые два объекта этого типа
- Создание делегата типа
Comparison<T>
, который может сравнивать любые два объекта этого типа
Последнее, вероятно, самое простое решение, если вы используете C # 3:
Array.Sort(array, (x1, x2) => x1.MemberName.CompareTo(x2.MemberName));