GroupBy в списке элементов, используя LINQ - PullRequest
1 голос
/ 09 января 2020

У меня есть список, который содержит элемент, как показано ниже:

enter image description here

Теперь я хочу сгруппировать в соответствии с языковым индексом (Languages[x]), как показано ниже :

Группа-1: model.Languages ​​[0] .Employer модель. Языки [0]. Название

Группа-2: model.Languages ​​[1] .Employer model.Languages ​​[1] .Title

Может ли кто-нибудь сказать мне, как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 09 января 2020

Вы можете использовать Regex для извлечения ключа:

var grouped = languages.GroupBy(l => Regex.Match(l, @"Languages\[\d+\]").Value);
1 голос
/ 09 января 2020

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

var groupedLanguages = languages.GroupBy(c => c.Substring(0, c.LastIndexOf('.')));

Это сгруппирует по: "model.Languages ​​[xx]"

...