0

C# は、変数の値を含む変数の型情報を格納すると聞いたことがあります。

私の質問は、List<>またはDictionary<>オブジェクトを使用している場合、そこに含まれる各オブジェクトの型情報ストアですか、それとも一度だけですか?

Genericsの場合は1回のみ、の場合はArrayList毎品と想像します。でも、聞きたかった。

4

2 に答える 2

0

論理的に考えると、ランタイムは変数自体と一緒に各変数の型情報のコピーを本当に保存するのでしょうか? これは非常に無駄です!ほとんどのアプリケーションにはおそらく数百の型 (つまり、クラス) がありますが、数千の型インスタンスがあります。

ランタイムは確かに各変数の型を認識していますが、これは、それぞれに必要な型情報の独自のコピーが付随していることを意味するものではありません。これを念頭に置いて、特別なケースのディクショナリまたはコレクション クラスは必要ありません。それらは単なる参照のコレクションです。

于 2012-07-29T06:55:15.920 に答える
0

MSDN によると、 Listは厳密に型指定されたオブジェクトのリストを表します

List<T>コンストラクターが使用されると、デフォルトの容量で が作成されlist of Tます

于 2012-07-29T07:47:14.420 に答える