.Net 【基础回顾】值类型与引用类型

值类型

  1. 直接存储数据

  2. 基础数据类型都是值类型

  3. 从类 System.ValueType 中派生的

  4. 容易误会的数据类型

        enum struct

        datetime 值类型(struct)

        Nullable 值类型(本质是一个结构)

引用类型

  1. 不包含存储在变量中的实际数据,但它们包含对变量的引用

  2. object、dynamic 和 string

指针类型

  1. 装箱:值类型转成引用类型

  2. 拆箱:引用类型转成值类型

值类型和引用类型的参数传递

  1. 值传递

      值类型:复制值传递,函数中修改不会影响原来的变量值

      引用类型:引用地址传递,函数中做修改会影响原来的变量

      string:引用类型,但当做值类型处理

  2. 引用传递

      值类型:值类型的存储地址传递,函数中修改会影响原来的变量

      引用类型:引用地址传递,一样会修改

  3. 引用传递方式

       ref:地址传递,必须先初始化,不能NULL

       out:结果传出,在结果返回前必须先赋值

类型转化比较 is as typeof

  is:判断类型,不会跑出异常,如果对象为null,则返回值永远为false

  as:类型转化,不会抛出异常,转化失败返回null

  typeof:返回System.Type对象,获取对象的具体类型信息

猜你喜欢

转载自www.cnblogs.com/thomerson/p/11432594.html