次のように表すことができる構造を使用しています。
IEnumerable<KeyValuePair<TKey, TValue>>
書くには長すぎることを考えると (コード分析がおそらく警告を発することは考慮していません)、より表現力豊かな型を使用することをお勧めします。.NET Framework にそのような型はありますか、それとも独自に作成する必要がありますか?
辞書と同じではないことに注意してください。
IDictionary<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>
辞書はすべてのキーが一意であることを保証するためですが、これは私の場合ではありません。私もルックアップを使用できません:
Lookup<TKey, TValue> : IEnumerable<IGrouping<TKey, TValue>>
ルックアップは遅延していないためです。つまり、グループ化するためにすべてのデータをフラッシュする必要があります。