Сортировка коллекции на основе другой коллекции

У меня есть набор имен файлов, в котором часть имени пути является определенным словом. Я могу упорядочить коллекцию следующим образом:

var files = from f in checkedListBox1.CheckedItems.OfType<string>()
            orderby f.Substring(0,3)
            select f;

Но теперь я хочу отсортировать не по алфавиту в части имени пути, а в соответствии с определенным порядком, заданным другой коллекцией.

Допустим, часть имени пути может быть «ATE», «DET» и «RTI». У меня есть другая коллекция строк: {"DET", "ATE", "RTI"}, которую я хочу использовать для сортировки имен файлов, чтобы после сортировки имена файлов отображались с их частями в порядке сначала "DET", затем "ATE" , затем «РТИ». Как мне этого добиться -> нужно ли использовать собственный компаратор?

5
задан xanatos 13 October 2011 в 07:17
поделиться