首页 > 代码库 > 值类型 和 引用类型的区别

值类型 和 引用类型的区别

内部传值的方式不同:

值类型是把自己的值复制一份传递给别的函数操作.无论复制的值怎么被改变.其自身的值是不会改变的

而引用类型是把自己的内存地址传递给别的函数操作.操作的就是引用类型值的本身.所以值被函数改变了.

例如
int a = 1;
int b = a;
b++;
这时b为2,a仍然是1
再看引用类型,例如有个类型是 User
User u1 = new User(){ Name = "张三" };
User u2 = u1;
u2.Name = "李四";
这时 u2 和 u1 的名字都为李四,因为 u2=u1的时候,u1和u2将指向同一个内存中的地址。改变u2的等于改变了u1,

 

值类型 和 引用类型的区别