16

コレクション型でブレース付きイニシャライザを使用すると、その容量が設定されますか、それとも指定する必要がありますか?

つまり、次のことを行います。

var list = new List<string>(){ "One", "Two" };

これは次のようになります。

var list = new List<string>(2){ "One", "Two" };
4

4 に答える 4

3

コレクション初期化子は、使用可能なAddメソッドを使用してアイテムをコレクションに追加します。したがって、メソッドの呼び出しで空のコンストラクターを使用する場合と同じ動作になりますAdd

実際には、コンパイラはオブジェクト初期化子の構文をAddメソッドの呼び出しに変更します。したがって、オブジェクト初期化子を使用するかどうかは無関係です。重要なのは、コンストラクターのオーバーロードを使用するかどうかと、実際に追加する項目の量です。

于 2013-09-24T07:30:50.497 に答える
0

ドキュメントによると、オブジェクト初期化子の数が2であることを考慮すると、最終的には容量も設定されます。

容量は常に Count 以上です

于 2013-09-24T07:32:33.863 に答える