【发布时间】:2017-11-11 13:50:20
【问题描述】:
我想问一些关于 ref 修饰符的问题。
我所知道和理解的: 使用 ref 修饰符的方法,不会像按值传递那样复制数据,但参数将可以直接访问参数值。基本上说,您在方法范围内所做的一切都将与您在调用者范围内使用参数(传递的变量)一样。
和我想问一下带有ref修饰符的参数中究竟存储了什么: 当我使用 ref 修饰符将参数传递给方法时,参数是否包含对参数值的引用?还是别的什么?
感谢您的回答
【问题讨论】:
-
“ref”参数包含对内存中指针的引用,其中存储了实际值。
-
可能想在
ref关键字上查看微软的article -
ref被很多人可怕地误解了;我不知道它会有所帮助,但我试图通过比较 C/C++ 指针来讨论它:blog.marcgravell.com/2017/04/spans-and-ref-part-1-ref.html -
这两个答案都很好,但重要的是要理解 ref 关键字只对值类型有意义,没有它的引用类型就这样工作。重要的是要知道字符串是一种引用类型,它是为数不多的基本类型之一。结构体也是值类型......albahari.com/valuevsreftypes.aspx
标签: c# methods parameters ref