关于ref和out的用法和区别在网上已经有很多的解释,这里只不过是写下对于我而说比较容易理解的解释。
ref和out都可以用来在函数中返回数据,类似于c++中指针。
参数 | Ref | Out |
是否一定需要初始化 | 是 | 否 |
机制 | 传递参数的地址,例如声明了int i=0; i是存储在内存堆的一个地址0x000001那么传递的便是这个地址0x000001 | 不需要初始化,也就是没有为定义的变量开辟存储空间。在函数体中定义,故只是返回值。(如果之前有定义,则在函数体中清空后再赋值) |
一般用途 | 调用的方法修改传进来的参数的引用(例如字符串的值)的时候 | 适合用在需要retrun多个返回值的地方 |
形象记忆 | 有进有出 | 只进不出 |