C# C语言中类型信息的存储#

C# C语言中类型信息的存储#,c#,C#,我听说C#存储变量的类型信息,包括变量的值 我的问题是,如果我使用的是列表或字典对象,那么其中包含的每个对象的类型信息存储是一次还是一次 我认为在泛型的情况下,它只有一次,而在数组列表的情况下,它适用于每个项目。然而,我想问 如果从逻辑上考虑,运行时真的会将每个变量的类型信息的副本与变量本身一起存储吗?这将是极其浪费的!大多数应用程序可能有几百种类型(即类),但有数千种类型实例 运行时当然知道每个变量的类型,但这并不意味着每个变量都有自己的所需类型信息副本。考虑到这一点,不需要使用特例字典或集合

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

我的问题是,如果我使用的是
列表
字典
对象,那么其中包含的每个对象的类型信息存储是一次还是一次


我认为在
泛型
的情况下,它只有一次,而在
数组列表
的情况下,它适用于每个项目。然而,我想问

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

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

根据MSDN,它们表示对象的强类型列表

当使用
List
构造函数时,它会创建一个具有默认容量的
T
列表