zl程序教程

您现在的位置是:首页 >  后端

当前栏目

浅谈PHP与C#的值类型指向区别的详解

c#PHP 详解 类型 区别 浅谈 指向
2023-06-13 09:14:54 时间
PH和C#的值拷贝区别(如果哪里说的不对,还望指出!)
$a=2;
$b=$a; //在php中这里把b的地址指向a所以b此时也等于2;区别就在这
$a=5;//这时php中a的值又重新写值,所以php核心这时才会把b重新分配一个地址,然后把a原先的值进行拷贝。这就是写时拷贝原理,也就是说,除非进行写操作,否则值类型就是指向一个地址。
而C#中。值类型的复制。永远都是新建一个地址如:
inta=2;
intb=a; //此时不管有没有进行a的二次写入。.NET都会把给b分配一个新的内存空间(值存在栈空间的)。然后再把a的值拷贝一份
注意:C#中值类型的值是直接存放栈中的。而引用类型,引用地址是存放在栈中,实际的值则存放在堆中。根据栈的地址,找堆中的值.