C#数据类型 C#中的数据类型可以分为值类型、引用类型和指针类型。值类型包括简单类型、结构和枚举,引用类型包括类、接口、委托、数组和字符串等。 值类型是在栈中分配内存,在声明时初始化才能使用,不能为 NULL。值类型超出作用范围系统自动释放内存。值类型可以隐式转换为引用类型,这个过程叫做装箱。 引用类型在堆中分配内存,初始化时默认为 NULL。引用类型是通过垃圾回收机制进行回收。值类型和引用类型的值可以相互转换,这个过程也就是所谓的装箱和拆箱。 装箱转换是将一个值型变量隐式地转换为引用类型对象。例如: ```csharp int i = 123; object o = i; // 隐式装箱 ``` 取消装箱是从引用类型到值类型的显式转换。例如: ```csharp int i = 123; object o = i; // 隐式装箱 try { int j = (int)o; // 显式取消装箱 Console.WriteLine("取消装箱成功."); } catch (InvalidCastException e) { Console.WriteLine("{0} 错误: 不正确的取消装箱.", e.Message); } ``` 值类型可以分为三大类:基本型、浮点型和结构型。 基本型包括整型、浮点型和布尔型。整型包括 byte、sbyte、short、ushort、int、uint、long 和 ulong 等。浮点型包括 float 和 double。布尔型只有 true 和 false 两个值。 浮点型包括 float 和 double。float 类型是 32 位浮点数,取值范围在 -3.4e38 到 3.4e38 之间。double 类型是 64 位浮点数,取值范围在 -1.8e308 到 1.8e308 之间。 结构型是使用 struct 关键字定义的类型。例如: ```csharp public struct Point { public int X; public int Y; } ``` 枚举类型是使用 enum 关键字定义的类型。枚举类型是值类型,枚举成员的值可以隐式转换为整型。例如: ```csharp enum Color { Red, Green, Blue } ``` C#中的数据类型是根据其存储方式和生命周期分为值类型和引用类型的。值类型是在栈中分配内存,引用类型是在堆中分配内存。值类型和引用类型的值可以相互转换,这个过程也就是所谓的装箱和拆箱。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助