在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属性仍然保持为默认值。

C# 结构体变量无法引用同一个对象:解释及示例

原文地址: https://www.cveoy.top/t/topic/b9Nn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录