将iDictionary <tkey,tvalue>转换为IDictionary <tsomeproperty,icollection <tvalue =“”>&gt;

时间:2016-11-01 17:07:58

标签: c# linq

我有IDictionary<TKey, TValue>TKey哈希引用我的项目。

我怎样}的结果分组?结果将适合EquivalenceClass TKey.GetEquivalenceClass()

一个更具体的例子,可能是:给定

IDictionary<EquivalenceClass, ICollection<TValue>>

public enum PlayerPositionGroup {Attacker, Defender}
public class Player{
  public PlayerPositionGroup GetPositionGroup(){...}
}

IDictionary<string, Player> SoccerPlayersByName

1 个答案:

答案 0 :(得分:1)

这个怎么样:

SoccerPlayersByName
.Values
.GroupBy(v => v.GetPositionGroup())
.ToDictionary(g => g.Key, g => g.ToArray());