今天一位同事突然考我:C#里面函数传递:int类型参数,struct类型参数,类对象参数三者分别是引用传递还是值传递?
当时一下蒙了,最近老学C++,C#虽然也老用,可是没有关注过这样的问题
后来试了下,才知道:前两者是值传递,类对象是引用传递。
之后查了查,发现ref和out两个关键字。
下面引用下别人的成果
它们的区别是:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。