C#参数传递方式
2010-06-12 17:35
225 查看
今天一位同事突然考我:C#里面函数传递:int类型参数,struct类型参数,类对象参数三者分别是引用传递还是值传递?
当时一下蒙了,最近老学C++,C#虽然也老用,可是没有关注过这样的问题
后来试了下,才知道:前两者是值传递,类对象是引用传递。
之后查了查,发现ref和out两个关键字。
下面引用下别人的成果
它们的区别是:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
引用自:http://www.anqn.com/dev/vc/2010-01-16/a09122636.shtml
当时一下蒙了,最近老学C++,C#虽然也老用,可是没有关注过这样的问题
后来试了下,才知道:前两者是值传递,类对象是引用传递。
之后查了查,发现ref和out两个关键字。
下面引用下别人的成果
它们的区别是:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
引用自:http://www.anqn.com/dev/vc/2010-01-16/a09122636.shtml
相关文章推荐
- C#.NET学习笔记---C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
- 读<<CLR via C#>>总结(7) 以传引用的方式向方法传递参数---ref&out
- C#调用c++的dll,结构体数组作为引用参数的传递方式
- C#给线程传递参数有3种方式
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- C# 同一应用程序域不同线程之间的参数传递方式
- c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析
- C#与C++参数传递方式对比.
- C# 同一应用程序域不同线程之间的参数传递方式
- C#中参数传递的方式
- 黑马程序员_C#给方法传递参数的几种方式
- C#参数传递方式及使用情境
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- C# 给多线程传递参数的三种方式
- C# 同一应用程序域不同线程之间的参数传递方式
- C#参数传递的方式
- c#使用线程传递参数的主要几种方式
- C# 数据类型的引用类型、值类型内存存储方式以及区别; 函数参数传递的引用传递(址传递)、值传递区别
- 黑马程序员 C#参数传递方式及使用情境
- C# 给多线程传递参数的三种方式