LINQ: упорядочить результаты объединения на основе внутренней коллекции - PullRequest
1 голос
/ 16 ноября 2011

Можно ли упорядочить результаты операции объединения LINQ на основе внутреннего порядка сбора?

Скажем, у меня есть две коллекции:

var names = new[]{"John", "Mary", "David"};
var persons= new[]{ new Person{Name="John", Title"Prof"}, new Person{Name="Mary", Title="Accountant"}, new Person{Name="David", Title="Mechanic"}, new Person{Name="Peter", Title="Homeless"}}

, если я выполняю соединение LINQ сполучить подмножество людей следующим образом:

var taxPayers =
                persons
                    .Join(names , p => p.Name, n => n, (p, n) => p)
                    .Select(f => new KeyValuePair<string, object>(f.Name, f.Title));

Результат упорядочен на основе массива лиц.

Можно ли с помощью LINQ заказывать налогоплательщиков на основе порядка имен?Или это не операция LINQable?

TIA.

1 Ответ

2 голосов
/ 16 ноября 2011

Простое изменение соединения должно работать.Вместо того, чтобы соединять имена с людьми, объединяйте людей с именами.

...