- A+
所属分类:.NET技术
你真的了解基本类型吗?
C#类型分类
- 值类型
- 引用类型(Object,string),除此之外是值类型
注意点:
- 接口类型(使用interface 来声明),可以由值类型实现(struct)
- 变量的值是在它声明的位置存储的,一般来说引用类型是从托管堆上分配的;值类型是在堆栈上分配的,但是假定一个类中有一个int 类型的实例变量,那么在这个类的任何对象中,该变量的值总是和对象中的其他数据在一起,也就是在堆上。
类型转换
-
隐式转换,无需指定类型
-
显式转换(强制转换),需指定类型
示例:int a = 123; long b = a;//隐式转换 int c = (int) b; //显式转换
具体的可转换类型参考:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/numeric-conversions
装箱和拆箱
两点注意:
● 对于引用类型的变量,它的值永远是一个引用;
● 对于值类型的变量,它的值永远是该值类型的一个值。
示例:
int i = 5;// object o = i;//装箱,值类型转换为引用类型 int j = (int) o;//拆箱,引用类型转换为值类型
以上为个人所见所学,若有不足之处,望各位多多指出。