C# 结构体变量无法引用同一个对象:解释及示例
在C#中,结构体是值类型,而不是引用类型。这意味着当我们创建一个结构体变量时,会为其分配一个独立的内存空间,并将该变量的值存储在该内存空间中。因此,两个结构体变量无法引用同一个对象。
例如,假设我们有以下的结构体定义:
struct Point
{
public int X;
public int Y;
}
如果我们创建两个Point结构体变量,并尝试将它们引用同一个对象,代码如下:
Point point1 = new Point();
Point point2 = point1;
point2.X = 10;
在这个例子中,我们首先创建了一个Point结构体变量point1,并将其值初始化为默认值。然后,我们将point1赋值给point2,这实际上是将point1的值复制到point2中。接下来,我们修改point2的X属性为10。
然而,这并不会影响point1的X属性,因为point1和point2是两个独立的结构体变量,它们分别占用不同的内存空间。因此,point1的X属性仍然保持为默认值。
原文地址: https://www.cveoy.top/t/topic/b9Nn 著作权归作者所有。请勿转载和采集!