Я хочу сделать List<KeyValuePair<string, int>>
с указанием почтовых индексов и количества людей, живущих в каждом месте.
Данные поступают из другого списка, который является List<Member>
. Класс Member
выглядит следующим образом:
public class Member
{
public int Id { get; set; }
public string Name { get; set; }
public string Zip { get; set; }
// some more properties
}
Это код, который у меня есть:
List<KeyValuePair<string, int>> zipCount = new List<KeyValuePair<string, int>>();
foreach (Member member in members)
{
zipCount.Add(new KeyValuePair<string, int>(member.Zip, 1));
}
Теперь, конечно, мне не хватает некоторого кода linq для членов группы по почтовому индексу.
Как бы выглядел такой код linq? Я попытался foreach (Member member in members.GroupBy(g => g.Zip))
, но это выдает это сообщение об ошибке:
InvalidCastException: Невозможно привести объект типа 'System.Linq.Grouping`2 [System.String, SolutionName.Models.Member]' к типу 'SolutionName.Models.Member'.