<分区>
根据这个post ,ref
和 out
之间存在区别的原因是因为在使用 ref
时复制变量值的成本很高。
为什么首先需要编码? C# 不只是在后台传递指针吗?在这种情况下,就不需要复制值。
标签 c#
最佳答案
因为两者的语义完全不同。
out
参数用于指示它将用于返回(输出)一个值,仅此而已。
另一方面,ref
参数指示应通过引用将现有对象(变量)传递给方法。在 C# 的上下文中,通过引用传递的对象(不要与引用类型混淆)通常暗示该方法将(并且应该)修改该对象。它不应该“仅仅因为”使用。它通常仅用于值类型,因为它是获取它们的引用语义的唯一方法。
关于c# - 为什么C#要区分ref和out?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20733892/