私はILookup<TKey,TElement> lookup
かなり頻繁に要素を取得し、LINQ または を使用してそれらを反復処理するを持っていforeach
ます。私はこのように見上げますIEnumerable<TElement> results = lookup[key];
。
したがって、results
ルックアップ結果を使用するたびに少なくとも 1 回列挙する必要があります (最初に .ToList() を使用しない場合は、複数回反復する場合はさらに)。
「クリーン」ではありませんがDictionary<TKey,List<TElement>>
、キーからのすべての結果が辞書の構築時にのみ列挙されるように、を使用する方が (パフォーマンス的に) 優れているのではないでしょうか? ToList() はどのくらい負担が大きいのでしょうか?