黑马程序员 学习笔记2
来源:互联网 发布:游戏数据分析 编辑:程序博客网 时间:2024/05/18 00:53
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
ref和out的区别
在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:
1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。
2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
注:在C#中,方法的参数传递有四种类型:传值(by value),传址(by reference),输出参数(by output),数组参数(by array)。传值参数无需额外的修饰符,传址参数需要修饰符ref,输出参数需要修饰符out,数组参数需要修饰符params。传值参数在方法调用过程中如果改变了参数的值,那么传入方法的参数在方法调用完成以后并不因此而改变,而是保留原来传入时的值。传址参数恰恰相反,如果方法调用过程改变了参数的值,那么传入方法的参数在调用完成以后也随之改变。实际上从名称上我们可以清楚地看出两者的含义--传值参数传递的是调用参数的一份拷贝,而传址参数传递的是调用参数的内存地址,该参数在方法内外指向的是同一个存储位置。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员 学习笔记2
- 黑马程序员---学习笔记
- 黑马程序员----学习笔记
- 黑马程序员----学习笔记
- 黑马程序员---学习笔记
- 黑马程序员-struts1学习笔记2
- 黑马程序员-javaIO学习笔记2
- 黑马程序员_C#40学习笔记2
- 黑马程序员--c#基础学习笔记2
- 黑马程序员--Dom基础知识学习笔记2
- 黑马程序员--javascript学习笔记(2)
- 黑马程序员 .NET学习笔记 <2>
- 黑马程序员_Java基础学习笔记2
- 黑马程序员----学习笔记(2)异常
- 黑马程序员_JAVA学习笔记2
- 黑马程序员--学习笔记/IO流2
- 黑马程序员 Java基础学习笔记2
- 黑马程序员 java基础学习笔记2
- 我的vimrc
- 操作系统总结
- Selinux阻止Chrome的问题
- assert的运用
- 【thinkphp3.x】thinkphp3.x中字段的合法性检测
- 黑马程序员 学习笔记2
- Opencv-获取图像或者矩阵的宏
- stm32 多通道AD和单通道AD的差别
- 【thinkphp3.x】thinkphp3.x中查询条件的预处理功能
- 大数相加
- vb.net adsl播号 rasdial命令的使用
- awk 学习
- 阅读优秀代码是提高开发人员修为的一种捷径(转载)
- linux命令后台运行详解