gpt4 book ai didi

c# - 你如何在 C# 中将两个结构类型的变量链接在一起?

转载 作者:行者123 更新时间:2023-12-04 09:16:09 26 4
gpt4 key购买 nike

我的问题很简单;如何将两个结构链接在一起,以便在 c# 中修改一个会改变另一个?由于结构的性质,这甚至可能吗?
在代码中,这就是我想要完成的:

Vector2 a = new Vector2(0.5f, 0.7f);
Vector2 b = a; // This line needs changing
b.X = 1.0f;
Debug.WriteLine(a.X); // should print 1.0f, but actually prints 0.5f.
对于上下文,我正在 MonoGame 中制作游戏并且需要将 Sprite 位置链接在一起,这自然使用内置数据类型“Vector2”,它是一个结构体。

最佳答案

结构是值类型,因此它们是按值复制的。但是,您可以使用引用,如果您想通过对参数的引用或作为类成员的返回值来传递结构,这会很方便。
For example :

var a = new ValueTuple<string, int>("foo", 1);
ref var b = ref a;

b.Item2 = 2;
Console.WriteLine(a);
https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/ref-returns想要查询更多的信息。

关于c# - 你如何在 C# 中将两个结构类型的变量链接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63199333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com