Memory allocation for 'Ref' and 'Out' parameter, any difference?
本问题已经有最佳答案,请猛点这里访问。
在C #,
它影响记忆如何管理?有没有任何差分内存管理中的研究与
尽管场景后面使用的机制相同,但两个关键字之间的区别在于编译器必须验证每个参数的内容:
- 如果传递一个带有
ref 关键字的参数,编译器会在调用之前检查是否已初始化该参数。 - 如果传递带有
out 关键字的参数,则编译器会在退出之前检查您调用的方法是否已对相应参数进行了赋值。
这种差异允许
就内存管理而言,这两者没有区别:在这两种情况下,引用本身是通过值传递的,而使用引用的代码则添加了额外的取消引用级别。