Я использую C#, чтобы отсортировать множество объектов (несколько миллионов наборов) по 2 параметрам.
Каждый набор данных должен быть сгруппирован вместе, если они имеют одинаковые 2 параметра. Раньше я использовал 2 цикла for для сортировки этих данных, но с функциями и сортировка данных по одному слишком медленная.
Пример набора данных
Obj[i].type= bag;
Obj[i].colour= blue;
Все остальные данные, которые имеют и сумка, и синий должны быть отсортированы вместе.
Я также пробовал использовать что-то вроде этого, но это дает только один уникальный параметр.
var uniquetype= new HashSet<string>(Obj.type);
Мне все равно нужно l oop через каждый из них в другом l oop, чтобы снова отсортировать данные. Я подумал, можно ли быстро отсортировать 2 параметра одновременно, чтобы сократить время вычислений. или, может быть, отсортируйте его в форме массива, добавив индекс объектов в виде строки, например array[i] += Obj.Parameter1.ToString()
.
Используя этот метод, он будет только l oop через один раз, чтобы получить все значения индекса объектов с похожими параметрами. Если мне нужен конкретный объект, я бы разрезал строку чисел и создал еще один l oop Obj[numFromArray[i]]
.
Есть ли метод сортировки, который я могу изучить?
Спасибо вам так много.