值类型和引用类型的区别
- 值类型存储在内存的【栈】当中。
- 引用类型存储在内存的【堆】当中。
- 值类型和引用类型的传递方式不同。
值类型和引用类型存储区别的图解:
常见的值类型:int, double, bool, char, decimal, struct, enum
常见的引用类型:string, 自定义类
学习 值传递和引用传递 的前提
面向对象和类:https://blog.csdn.net/shenqiankk/article/details/97614022
类-属性:https://blog.csdn.net/shenqiankk/article/details/97615980
关键字this:https://blog.csdn.net/shenqiankk/article/details/97661957
字符串的不可变性:https://blog.csdn.net/shenqiankk/article/details/97805101
值传递
代码:
int num1 = 10;
int num2 = num1;
int num2 = 20;
Console.WriteLine(num1); //输出为10
Console.WriteLine(num2); //输出为20
图解:
引用传递
代码:
Person p1 = new Person();
p1.Name = "张珊";
Person p2 = p1;
p2.Name = "李思";
Console.WriteLine(p1.Name); //输出为“李思”
Console.WriteLine(p2.Name); //输出为“李思”
图解: