如何找到Age
的{{1}}属性的频率?
List<Person>
所以我希望我的var people = new List<Person>
{
new Person {Name = "Jonh", Age = 10},
new Person {Name = "Jack", Age = 12},
new Person {Name = "Sara", Age = 10},
new Person {Name = "Dave", Age = 10},
new Person {Name = "Jude", Age = 12}
};
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public int Frequency { get; set; }
}
个对象更新为Person
值。
Frequency
答案 0 :(得分:4)
var countByAge = people.GroupBy(x => x.Age)
.ToDictionary(g => g.Key, g => g.Count());
foreach(var person in people)
{
person.Frequency = countByAge[person.Age];
}
答案 1 :(得分:1)
尝试这样:
foreach(var item in people)
{
item.Frequency = people.Count(x=>x.Age == item.Age);
}