-----------------------------------------关于值 类型 和 引用 类型---------------------------------------------------
1.值类型
每个 值类型都有一个自己独立的内存区域用于保护 自己的值,值类型 数据所在内存区域成为栈。
int oneheight = 170; //第一个身高 int twoheight = oneheight; //第二个身高 Console.WriteLine("今年张雨的身高是" + oneheight + "章鱼的身高是" + twoheight); twoheight = 180; Console.WriteLine("明年张雨的身高是" + oneheight + "章鱼的身高是" + twoheight); Console.WriteLine("-----------------------------------------------------------");
打印结果 :
这里的赋值是重新开辟一个值类型空间。
2,应用类型
c#中引用类型主要包括数组,接口和类等
//2.引用类型 数组 int[] infoZhang = new int[] { 170, 60 }; int[] infoWang = infoZhang; Console.WriteLine("今年张雨的身高是" + infoZhang[0] + "王兰的身高是" + infoWang[0]); //infoWang[0] = 180; infoWang = new int[]{180,60}; //重新生成 Console.WriteLine("今年张雨的身高是" + infoZhang[0] + "王兰的身高是" + infoWang[0]);
打印结果:
引用类型的重新调用指向的同一个对象的内存地址,如果要修改,则修改的是内存对象的内容,两者都会修改。
关系图 ;