C#学习笔记 day three
Chapter 3 类型
3.3引用类型
引用类型的变量也成为对象,有六种类型:
(1)对象类型
(2)字符串类型
(3)类类型
(4)数组类型
(5)接口类型
(6)委托类型
在使用引用类型的变量的之前,要先判断该变量的值是不是null。如果是的话就不能直接访问
1.类类型:支持继承机制
2.对象类型:内置的引用类型,即System.object
3.字符串类型:表示零或者更多的unicode字符组成的序列,对应着System.string,使用双引号创建,一旦被创建它的创建的内存中的内容就不能被修改,要改变值只能够重新分配一块新的内存
4.数组类型:在声明数组的时候,元素类型之后要紧跟着中括号
5.接口类型:接口只是一种数据结构,可以声明数据成员和函数成员,它只能声属性,方法和事件,但是不能实现这些属性,方法和事件
6.委托类型:它能够引用一个或者多个的方法,能够将方法作为参数进行传递,并且还可以定义回调方法
3.4装箱和拆箱
作用:值类型和引用类型的值的相互转换
引用类型总被分配在托管堆上,值类型被分配在堆栈上
1.装箱:将值类型转换为引用类型,具体过程是:首先分配一个对象实例,然后将值类型的值复制到该实例中,对于引用实例来说,装箱前后都共享同一个实例
四种常见的装箱:
(1)值类型到object类型
(2)值类型到System.ValueType类型
(3)值类型到值类型实现的接口类型
(4)枚举类型到System.Enum类型
2.拆箱:将引用类型转换为值类型,具体的过程是:检查改对象实例是否为给定值类型的一个装了箱的值,将值从实例中复制出来(比装箱多了检查那一步)
四种常见的拆箱:
就是把前面的装箱的过程反过来
时间: 2024-10-14 15:50:28