在c#中ref和out的用法和区别

  比较直观的解释out:https://www.bilibili.com/video/BV1nt411n7Rx?p=79  ref:https://www.bilibili.com/video/BV1nt411n7Rx?p=81

   out和ref的使用场景其实不一样。out适合在方法内返回一个额外的结果参数,而ref适合直接改变一个在方法外面的值,方法改变外部就改变,无需重新定义接住返回值再使用。

  我的记录:

  out

  out可以在方法内部返回多个不同类型的参数

  out必须在调用时声明需要返回的参数,并传入形参(其实相当于传入一个形参)

  out参数必须在方法内部赋值不然返回的就是空,并且会报语法错误
  out返回时可以不用写return

 

  ref使用时需要在外部必须赋值
  并且调用时候声明ref
  方法内也声明ref
  作用:无需返回值,只需在方法内外都声明ref,值将会跟随同步改变


  ref和out的异同:
  同:1.在调用时候都必须传入关键字,方法内部也必须写入关键字
          2.都必须在外部声明需要改变的值
          3.都无需return返回,只要调用方法,值就改变可以使用了。

  异:1.ref必须在调用的方法外部进行赋值 out必须在方法内部赋值

  

  

posted @ 2020-04-16 17:36  托马斯很努力  阅读(736)  评论(0)    收藏  举报