什么是Ref和Out之间的差异?

Cut*_*ute 5 .net c# syntax

可能重复:
'ref'和'out'关键字之间有什么区别?

ref和之间有什么区别out?我很困惑何时使用refout.所以请解释如何使用refout,以及在哪些情况下.

Ale*_*nea 14

  • 传递初始化参数时使用Ref,并期望方法/函数对其进行修改.
  • 传递未初始化的参数时使用Out,并且该方法必须初始化并填充该参数(否则会收到警告甚至错误).

    bool IsUserValid(字符串用户名);

    void IsUserValid(字符串用户名,输出bool有效);

上面的声明大致相同.返回值更容易,因此在这种情况下,您将使用返回类型.但是如果你的方法还需要返回用户的出生日期,你不能在返回中返回两个参数,你必须使用out参数来返回其中一个(或者使方法无效并将两者都返回).