Проблема с сортировкой списка<xyz <String, String >>, ошибка: InvalidOperationException

Я пытаюсь отсортировать общий список и получаю InvalidOperationException ошибка

У кого-нибудь есть предложения как это исправить?

List<XYZ<String, String>> список передается как параметр через функцию.

func( List<XYZ<String, String>> PassedList) {

   PassedList.Sort();
}

Любое предложение будет действительно полезным.

3 ответа

Решение

Я решил проблему с помощью оператора linq.

вместо того, чтобы использовать PassedList.Sort()Я использовал следующее утверждение:

PassedList = PassedList.OrderBy( x => x.Column1).ToList();

Ваш XYZ должен быть IComparable

Ваш XYZ должен реализовать IComparable или (еще лучше) IComparable<XYZ<T, U>>,

Если это невозможно, вы должны либо создать класс, который реализует IComparer или (опять лучше еще) IComparer<XYZ<String, String>> и использовать перегрузку Sort() который принимает экземпляр такого объекта, или же использует форму, которая принимает делегат или лямда-выражение, которое соответствует Comparison<XYZ<String, String>> (принимая два XZY<String, String> аргументы и возвращение int).

Если Sort() метод не может понять, какой XYZ до которого потом не может их отсортировать.

Другие вопросы по тегам