【发布时间】:2015-06-02 13:41:59
【问题描述】:
我有三个不同的集合,分别命名为 Collection1、Collection2、Collection3。现在我想按他们的 ID 对它们进行分组,还想根据他们的最大数量来订购该 ID。我想要的第三件事是将该值添加到 Icollection 。 我的收藏如下:
Collection1:
value1
Id1
value2
...
Collection2:
value1
Id1
value2
Id2
...
Collection3:
value1
Id1
value2
Id2
...
注意:ID 在集合中是唯一的。 collection1 或 collection2 或 collection3 的 Id1 可以相同,但集合内的 Id 不能相同。 我所做的如下:
var query = Collection1.Concat.Select(a => a.CountryId).Concat(Collection2.Select(b => b.CountryId).Concat(Collection3.Select(c => c.CountryId).GroupBy(x => x).OrderByDescending(x => x.Count()).ToDictionary(x => x.Key, x => x.Count());
为了将该值分配给 ICollection 变量,这就是我所做的:
foreach (var item in query )
{
ICollect.Add(item.Key);
}
我不确定使用.ToDictionary。任何人都可以为此提出不同的方法。
谢谢。
【问题讨论】: