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

你真的了解基本类型吗?

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;//拆箱,引用类型转换为值类型
posted @ 2020-10-13 21:38  花里逢君别  阅读(275)  评论(0编辑  收藏  举报