num person 发生 转换 bject spa 自定义类 decimal
// 值类型: int double char decimal bool enum struct // 引用类型:string 数组 自定义类 集合 object 接口
- //值传递和引用传递
- intn1 =10;
- intn2 = n1;
- n2 =20;
- Console.WriteLine(n1);//10Console.WriteLine(n2);//20Console.ReadKey();
如果是引用类型, 是最后一个
- Person p1 = new Person(); //这是引用类型
- p1.Name = "张三";
- Person p2 = p1;
- p2.Name = "李四";
- // p1.Name = "1223";
- Console.WriteLine(p2.Name); //反正是最后一个1233
- Console.WriteLine(p1.Name); //反正是最后一个
- Console.ReadKey(); //李四
- //如果这里没有 p1.Name = "1223"; 这是李四李四
装箱、拆箱装箱:就是将值类型转换为引用类型。拆箱:将引用类型转换为值类型。看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系
避免拆箱和装箱
// 这个地方没有发生任意类型的装箱或者拆箱 //string str = "123"; //int n = Convert.ToInt32(str);// 看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系
//int n = 10; //object o = n;// 装箱 值类型 => 引用类型 n =>o //int nn = (int)o;// 拆箱
c# 基础值类和引用类型
来源: http://www.bubuko.com/infodetail-2013056.html