在c#中,向方法发送参数时,什么时候应该使用“ref”,什么时候应该使用“out”,什么时候不用?
最佳答案
一般来说,如果可能的话,你应该避免使用 ref 和 out。
也就是说,当方法可能需要修改值时使用 ref。当方法总是应该为值赋值时使用 out。
ref 和 out 之间的区别在于,当使用 out 时,编译器强制执行规则,您需要在返回之前为 out 参数分配一些内容。使用 ref 时,您必须先为变量赋值,然后将其用作 ref 参数。
显然,当您编写自己的方法时,以上内容适用。如果您需要调用在其参数上使用 ref 或 out 修饰符声明的方法,则在调用该方法时,您应该在参数之前使用相同的修饰符。
另请记住,C# 通过引用传递引用类型(类)(例如,引用通过值传递)。所以如果你提供一些方法以引用类型作为参数,该方法可以修改对象的数据;即使没有 ref 或 out。但它不能修改引用本身(例如,它不能修改被引用的对象)。
关于c# - 在 c# 中,当向方法发送参数时,我们应该什么时候使用 "ref"什么时候使用 "out"以及什么时候不使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1115762/