以下是我对您试图解决的问题的理解。你有一个清单myobject
s. Each myobject
有一个属性叫做Names
这是一个HashSet
of string
s(即HashSet<string>
)。你想计算每次的次数string
出现在一些myobject.Names
出现在所有myobject.Names
。也就是说,你有
"Alice", "Bob", "Charlie"
"Alice", "Bob", "Donald"
"Alice", "Donald", "Ernie"
作为三个myobject.Names
你想看看
"Alice", 3
"Bob", 2
"Charlie", 1
"Donald", 2
"Ernie", 1
If so:
var query = list.SelectMany(x => x.Names)
.GroupBy(s => s)
.Select(g => new { Name = g.Key, Count = g.Count() });
foreach(var result in query) {
Console.WriteLine("Name: {0}, Count: {1}", result.Name, result.Count);
}
没看出什么角色myobject.ID
在这里玩。请符合资格。