从CLR的角度看,关键字out和关键字ref是等效的,这就是说,无论使用哪个关键字,都会生成相同的元数据和IL代码。但是,C#编译器将两个关键字区别对待,在C#中,这两个关键字的区别在于哪个方法负责初始化引用对象。如果方法的参数标记为out,那么调用者不希望在调用方法之前初始化对象,被调用的方法不能读取对象的值,而且被调用的方法必须在返回之前为对象赋值。如果方法的参数标记为ref,那么调用者必须在调用方法之前首先初始化参数的值,被调用的方法可以读取参数或为参数赋值。
C#输出参数和引用参数的区别。
C#中的out与ref关键字
最新推荐文章于 2022-01-22 13:34:25 发布
本文探讨了C#编程语言中out与ref关键字的区别。虽然从CLR角度看两者等效,但C#编译器对其有不同的处理方式。out关键字表示方法负责初始化变量,而ref则要求调用者事先初始化。
2448

被折叠的 条评论
为什么被折叠?



