У меня есть класс, который содержит несколько списков <>, содержащихся в нем. Его в основном таблица, хранящаяся с каждым столбцом в виде списка <>. Каждый столбец не имеет одного и того же типа. Каждый список имеет одинаковую длину (имеет одинаковое количество элементов).C# Список сортировки на основе другого списка
Например:
У меня есть 3 списка <> объекты; один список, два списка и три списка.
//Not syntactically correct
List<DateTime> one = new List...{4/12/2010, 4/9/2006, 4/13/2008};
List<double> two = new List...{24.5, 56.2, 47.4};
List<string> three = new List...{"B", "K", "Z"};
Я хочу, чтобы иметь возможность сортировать список один из старых к новым: один = {4/9/2006, 4/13/2008, 4/12/2010};
Чтобы сделать это, я переместил элемент 0 до конца.
Затем я хочу отсортировать список два и три одинаково; перемещая первое и последнее.
Поэтому, когда я сортирую один список, я хочу, чтобы данные в соответствующем индексе в других списках также менялись в соответствии с тем, как отсортирован один список.
Я предполагаю, что мне нужно как-то перегрузить IComparer, но я чувствую, что есть ярлык, который я не понял.
Таким образом, я повторяю весь список и создаю структуру данных из данных. Затем я сортирую данные, затем возвращаю их обратно в списки. Это имеет смысл, но это не кажется эффективным. Это, по крайней мере, будет работать, и это лучше, чем у меня в настоящее время. Благодарю. Изменить: я не знаю, что есть 3 элемента, поэтому я не могу использовать структуру. Возможно, список мог бы работать, но мне нужно будет беспокоиться о том, чтобы кастинг на большой сорт? –
@John - Получаете ли вы эти списки из неконтролируемого источника? – ChaosPandion
Да, список <> объекты, которые я получаю, не могут быть изменены; они могут быть отсортированы на месте, хотя. –