49

空のシーケンスを作成するには、次を使用します

var empty = Enumerable.Empty<string> ();

これと同じくらい簡単に空の辞書を作成するのに相当するものはありますか?

4

6 に答える 6

31

いいえ、同等のものはありません...

の目的はEnumerable.Empty<T>()、空の配列の「キャッシュされた」インスタンスを返すことです。したがって、新しい配列を作成するオーバーヘッドを回避できます ( return new T[0];)。

返されたインスタンスは後で変更される可能性があり、目的が無効になるため、これをIDictionary<TKey, TValue>orのような非読み取り専用構造に変換することはできません...Dictionary<TKey, TValue>

于 2012-05-03T12:36:48.460 に答える
10

何が問題なのnew Dictionary<string, string>()ですか?

于 2012-05-03T12:23:02.700 に答える
-1

キーと値が同じ型 (例: 文字列) の場合:

Enumerable.Empty<string>().ToDictionary(x=>x, x=>x)
于 2015-03-17T07:19:56.130 に答える