在C#中存储类型信息

时间:2012-07-29 06:49:24

标签: c#

我听说C#存储变量的类型信息,包括变量的值。

我的问题是,如果我使用List<>Dictionary<>对象,是包含在其中的每个对象的类型信息存储,还是只有一次?

我认为在Generics的情况下,它只有一次,而在ArrayList的情况下,它适用于每个项目。但是,我想问一下。

2 个答案:

答案 0 :(得分:0)

如果您从逻辑上考虑它,运行时是否真的会为每个变量存储类型信息的副本以及变量本身?这将非常浪费!大多数应用程序可能有几百种类型(即类),但有数千种类型实例。

运行时肯定知道每个变量的类型,但这并不意味着每个变量都附带了自己所需类型信息的副本。考虑到这一点,不需要特殊的案例字典或集合类,它们只是一组引用。

答案 1 :(得分:0)

根据MSDN List表示强类型的对象列表

使用List<T>构造函数时,会创建一个具有默认容量<{p>的list of T