值类型存储在堆栈上,引用类型储存在堆上。
C#类是引用类型,结构是值类型。.Net很容易把值类型转换为引用类型。所以可以在需要对象(对象是引用类型)的任意地方使用值类型。
例如:int可以赋予一个对象,从值类型转换为引用类型成为装箱,如果方法需要吧一个对象作为参数,而且传送了一个值类型。装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。在拆箱时,需要使用类型转换运算符。
装箱和拆箱操作性能损失比较大。
Powered by: 博客园 Copyright © 2024 枫之一刀 Powered by .NET 8.0 on Kubernetes