【C#语言】C#中ref和out关键字有什么区别?知道Ref的深层原理是什么
3343
ref修饰引用参数:参数必须赋值,带回返回值,又进又出
out修饰输出参数:参数可以不赋值,带回返回值之前必须明确赋值,
引用参数和输出参数不会创建新的存储位置
如果ref参数是值类型,原先的值类型数据,会随着方法里的数据改变而改变,
如果ref参数值引用类型,方法里重新赋值后,原对象堆中数据会改变,如果对引用类型再次创建新对象并赋值给ref参数,引用地址会重新指向新对象堆数据。
方法结束后形参和新对象都会消失。实参还是指向原始对象,值不够数据改变了。
特别声明:本文仅供交流学习 , 版权归属原作者,并不代表游民部落赞同其观点和对其真实性负责。若文章无意侵犯到您的知识产权,损害了您的利益,烦请与我们联系vmaya_gz@126.com,我们将在24小时内进行修改或删除。