У меня есть массив, в котором хранится порядок, по которому я хочу отсортировать список.
SortOrderArray: "Color", "Volume", "Weight"
Итак, я хочу упорядочить список по цвету, объему, а затем по весу
MyList.OrderBy(a=>a.Color).ThenBy(a=>a.Volume).ThenBy(a=>a.Weight).ToList();
Так что это довольно хорошо.Теперь я хочу написать функцию, которая выполняет эту сортировку на основе массива sortOrder, который я отправляю:
public List<row> GetSortedList(List<row> list, string[] sortOrder){
???
}
Я не могу понять, как это сделать без написания запроса linq для каждогокомбинация sortOrders (27 разных запросов кажутся худшим способом сделать это, и у меня довольно высокая вероятность того, что я совершу крошечную ошибку).Я хотел бы иметь возможность просто написать 3 запроса linq, которые переупорядочивают список в соответствии с каждым из 3 методов сортировки, примерно так:
switch(sortOrder[0]){
Sort by the first sort method
}
switch(sortOrder[1]){
Sort by the second sort method
}
switch(sortOrder[2]){
Sort by the third sort method
}
Но если я попытаюсь выполнить приведенный выше код, он просто перезапускаетэто каждый раз, вместо того, чтобы делать подвыборки после того, как над ним.Надеюсь, что это понятно, любая помощь будет оценена.