gpt4 book ai didi

c# - “ref”关键字和 AppDomains

转载 作者:太空狗 更新时间:2023-10-29 20:29:37 26 4
gpt4 key购买 nike

当我开始使用 C# 时,我不确定如何正确处理引用(它们是否按值传递等)。我错误地认为传递将被调用方法修改的对象时需要“ref”关键字。

然后在阅读类似 this 的话题后,我意识到只有在需要更改实际引用/指针本身时才需要“ref”。

但是今天我在通过远程调用传递参数时遇到了一个问题,实际上需要 ref 来修改对象的内容。在没有引用的情况下传递时,对象返回时未更改。我被告知要添加 ref 关键字,但我争论了一段时间,只有当您更改指针本身而不是所指向的内容时才需要这样做。

我在网上搜索过,只找到一个 single page简要讨论它。这是一个已知问题吗?有人能指出一些关于它的文档吗?在我看来,我现在必须对通过远程调用修改的任何参数使用 ref。

最佳答案

添加“ref”可能有帮助,也可能没有帮助。这完全取决于特定编码器实现的智能程度。例如,如果您调用一个 Web 服务,再多的“ref”也帮不了您——函数的参数根本不会通过线路发回。唯一从服务返回的是函数的返回值。在处理远程处理时,您必须了解(至少在某种程度上)实际工作的方式——参数需要被序列化并通过某种“线路”发送给被调用者,在另一端反序列化,工作由服务器执行,并将结果序列化并发送回给您。这些结果是否包括对您首先传递的参数的更改更多地取决于具体的远程处理实现,然后取决于您添加以修饰参数的“ref”...

关于c# - “ref”关键字和 AppDomains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838117/

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