c# Windows 窗体打印指针值不改变

c# WindowsForm Point pointer value not changing

正如我的老师总是告诉我的:“在 C# 中,一切都是指针”,

我目前在一个项目中使用 Windows 表格和与之相关的点 class。

示例:

Point a = new Point(200, 200);
Point b = a;
a.X = 100;
Console.WriteLine(b.X);

因为'a'是一个指针,当设置'b'到'a'然后改变'a.X'的值时,b.X的值应该也改变了吧?但是结果我还是得到了200

我希望它是 100(在它们之间保留一个 link),在 C# 中有什么方法可以做到这一点吗?

定义为 class 它可以工作,但不能作为结构,用等效的 class 覆盖结构就可以了。

如您所知,值类型是按值而不是按引用复制的。

但是,如果您想要对该对象的实际引用,您可以轻松地这样做。

Point a = new Point(200, 200);
ref Point b = ref a;
a.X = 100;
Console.WriteLine(b.X);