gpt4 book ai didi

c# - ref 用于变量而不是函数中的参数

转载 作者:IT王子 更新时间:2023-10-29 04:52:47 25 4
gpt4 key购买 nike

假设我有一个 Person 类并且有以下内容:

Person A = new Person("Tom");
Person B = A;

有没有办法改变它,如果我将一个新的 Person 分配给 BB = new Person("Harry"), A 也指的是同一个实例吗?我知道您可以在函数的 ref 参数赋值中做到这一点。

最佳答案

更新:此处描述的功能已添加到 C# 7。


您想要的功能称为“ref locals”,C# 不支持它。

CLR 确实支持生成包含 ref locals 的代码,几年前我编写了一个具有您想要的功能的实验性 C# 版本,只是想看看它是否可行。你可以这样做:

Person a = whatever;
ref Person b = ref a;

然后如您所说,对“b”的更改将更改“a”的内容。这两个变量成为同一存储位置的别名。

虽然这是一个不错的小功能并且运行良好,但我们决定不将其用于 C#。它可能仍然会在该语言的假设的 future 版本中发生,但我不会因为期待而对它感到兴奋;它可能不会发生。

(请记住,Eric 对任何 Microsoft 产品的假设 future 版本的所有思考仅供娱乐。)

关于c# - ref 用于变量而不是函数中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4919965/

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