2012-07-29 66 views
0

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

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

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

回答

0

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

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

0

按照MSDN List代表对象

的强类型列表当List<T>构造函数用于其与默认容量创建一个list of T