C#:ref关键字和out关键字的区别
2024-09-03 01:31:40
1、在不使用关键字(比如ref关键字、out关键字等)修饰函数的情况下,大部分函数的参数是以值传递的方式,也就是说,“调用函数”在使用参数(比如myNumber)时,是把该参数复制多一份,然后将其传递给“被调用函数”使用,言外之意就是对“被调用函数”中此变量的任何修改都不影响“调用函数”中原有参数的值。
2、ref关键字和out关键字的使用,就可以改变原有参数的值。方法定义和调用方法都必须显式使用。
使用方式就不细讲了,直接说说它们的区别:
1) ref关键字:传递到 ref 参数的参数必须初始化,否则程序会报错;通过ref的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题
2)out关键字:把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数;另外,在函数使用out参数时,out参数必须看作是未赋值。通过out的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题
最新文章
- Oracle数据库11g各版本介绍及功能比较
- CustomUI Direct3D9_Sample
- Github Atom 1.12.0-beta3 发布
- javaweb回顾第十一篇过滤器(附实现中文乱码问题)
- 教你搭建SpringSecurity3框架( 更新中、附源码)
- 《深入理解计算机系统》深入实践之——vim深入研究
- 时间工厂[XDU1013]
- nginx location 匹配顺序
- NIO中Selector分析
- windows下apache及mysql定时自动重启设置
- Knockout应用开发指南(完整版) 目录索引
- C# 常用的dialogresult reset 以及if else 等检查获取客户操作信息的操作方法
- Echarts 使用遇到的问题
- homework-05 GoldNumberServer
- 20160322 javaweb 学习笔记--response验证码实现
- 【清澄A1333】【整体二分+二维树状数组】矩阵乘法(梁盾)
- check cable connection PXE-M0F: Exiting intel PXE ROM no bootable device-- insert boot disk and pre
- 使用nginx mirror 制作nexus 的简单ha
- malloc创建三维数组
- 【原创】angularjs1.3.0源码解析之执行流程