CLR via C# 读书笔记(五)关于“out”和“ref”关键字

来源:互联网 发布:javascript初学者 编辑:程序博客网 时间:2024/04/30 01:37

从CLR角度看, 关键字out和ref是等效的,无论使用那个关键字,都会生成相同的元数据和IL代码。但是C#编译器将这两个关键字区别对待:区别在于那个方法负责初始化引用的对象。

1。out关键字:调用者不希望在调用方法之前初始化对象,被调用的方法不能读取对象的值。而且被调用的方法必须在返回之前为对象赋值。

2。ref关键字:调用着必须在调用方法之前首先初始化参数值,被调用的方法可以读取参数,并且可以为参数赋值

 

                          ---CLR via C#  第八章方法:构造器,操作符,转换操作符和参数 8.6通过引用向方法传递参数

原创粉丝点击