У меня есть список объектов, которые мне нужно отсортировать на основе некоторых их свойств.Это прекрасно работает для сортировки по одному полю:
reportDataRows.Sort((x, y) => x["Comment1"].CompareTo(y["Comment1"]));
foreach (var row in reportDataRows) {
...
}
Здесь я вижу множество примеров, которые делают это только с одним полем.Но как мне отсортировать по одному полю, а затем по другому?Или как насчет списка многих полей?Похоже, что лучше использовать LINQ orderby, но я не знаю достаточно об этом, чтобы знать, как его использовать.
Для параметров что-то вроде этого, поддерживающее любое количество полей для сортировки, будетприятно:
var sortBy = new List<string>(){"Comment1","Time"};
Я не хочу писать код, чтобы делать это в каждом из моих приложений.Я планирую перенести этот код сортировки в класс, содержащий данные, чтобы он мог выполнять более сложные задачи, такие как использование списка параметров и неявное распознавание того, что поле является датой, и сортировка его как даты вместо строки.Объект reportDataRow содержит поля с этой информацией, поэтому мне не нужно делать никаких грязных проверок, чтобы выяснить, должно ли поле быть датой.