Как отсортировать массив, содержащий объекты класса значением свойства экземпляра класса? [дубликат]

Блок является лучшим первым языком программирования.

15
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

Вы можете использовать перегрузку Array.Sort , которая принимает параметр Comparison :

Array.Sort(myClassArray,
    delegate(MyClass x, MyClass y) { return x.Name.CompareTo(y.Name); });
25
ответ дан 1 December 2019 в 01:23
поделиться

Пусть MyClass реализует интерфейс IComparable , а затем использует Array.Sort

Что-то подобное будет работать для CompareTo (при условии, что свойство Name имеет строку типа)

public int CompareTo(MyClass other)
{
    return this.Name.CompareTo(other.Name);
}

Или просто с помощью Linq

MyClass[] sorted = myClassArray.OrderBy(c => c.Name).ToArray();
11
ответ дан 1 December 2019 в 01:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: