想了一会儿,但是还是没有想得很通:
我们都知道,在C#中声明的一个类型,如 int,实际上是.Net结构System.Int32的一个实例.说,在语法上,可以把所有的基本数据类型看作是chi支持某种方法的类.
但是,我发现有这么一句话,就有点蒙了:
这里的"类型"仍然存储为基本类型.基本类型在概念上用.Net结构便是,所以肯定没有性能损失!
这的一时间想不出为什么,性能不损失和是结构类型,有什么关系哈?
有点半懂半不懂.和结构有关,最多不就说和"值类型"有关.
我们都知道,在C#中声明的一个类型,如 int,实际上是.Net结构System.Int32的一个实例.说,在语法上,可以把所有的基本数据类型看作是chi支持某种方法的类.
但是,我发现有这么一句话,就有点蒙了:
这里的"类型"仍然存储为基本类型.基本类型在概念上用.Net结构便是,所以肯定没有性能损失!
这的一时间想不出为什么,性能不损失和是结构类型,有什么关系哈?
有点半懂半不懂.和结构有关,最多不就说和"值类型"有关.
到目前为止,还没有一个硬件实现的cpu可以直接处理一个对象的。
引用类型被分配在托管堆上,托管堆是由CLR管理和操作,由GC垃圾处理器进行释放和回收,所以一旦被初始化,其被释放存在不定性。因此,值类型的操作效率要高于引用类型。而C#中struct类型的都是值类型,long也是值类型和int32处理方式一样。