C#基础-数据类型
C#类型分为两种
值类型
bool sbyte(8位) short(8位) ushort() int uint long ulong char(16位) float double
引用类型
类 接口 委托 oject string
值类型与引用类型区别
值类型与引用类型转换
将int转化成oject
// 值类型转化成引用类型:将int 转换成 oject
int intNum = 12;
object objNum = (object)intNum;
将object转化成int
// 引用类型转化成值类型
object objA = 15;
int intGetObjA = (int)objA;
int intGetOjeA2 = Convert.ToInt32(objA); // 强制类型转化
将oject转化为单精度浮点稍微不同
object objB = 12.3;
float fltB = (float)objB;
float fltB2 = Convert.ToSingle(objB);
装箱:将值类型包装成引用类型的过程
拆箱:将引用类型转化成值类型,需要进行装箱操作(boxing):
1.首先从托管堆中为新生成的引用对象分配内存
2.然后将值类型的数据拷贝到刚刚分配的内存中
3.返回托管堆中新分配对象的地址
常量使用const定义
// 常量
const int intConstA = 20;
//intConstA = 30; 常量不能赋值
运算符扩展
赋空值
int? i = null;
var根据赋值判定数据类型
// var 根据赋值判断类型
var cc = 12 + 13; // int
var mm = "Hello"; // string
var ff = 12 * 1.0 / 3; // double