再学一次C#(基本类型篇)

  • A+
所属分类:.NET技术
摘要

你真的了解基本类型吗?隐式转换,无需指定类型显式转换(强制转换),需指定类型
示例:

你真的了解基本类型吗?

C#类型分类

  1. 值类型
  2. 引用类型(Object,string),除此之外是值类型

注意点:

  1. 接口类型(使用interface 来声明),可以由值类型实现(struct)
  2. 变量的值是在它声明的位置存储的,一般来说引用类型是从托管堆上分配的;值类型是在堆栈上分配的,但是假定一个类中有一个int 类型的实例变量,那么在这个类的任何对象中,该变量的值总是和对象中的其他数据在一起,也就是在堆上。

类型转换

  1. 隐式转换,无需指定类型

  2. 显式转换(强制转换),需指定类型
    示例:

    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;//拆箱,引用类型转换为值类型 

以上为个人所见所学,若有不足之处,望各位多多指出。