1、在不使用关键字(比如ref关键字、out关键字等)修饰函数的情况下,大部分函数的参数是以值传递的方式,也就是说,“调用函数”在使用参数(比如myNumber)时,是把该参数复制多一份,然后将其传递给“被调用函数”使用,言外之意就是对“被调用函数”中此变量的任何修改都不影响“调用函数”中原有参数的值。

2、ref关键字和out关键字的使用,就可以改变原有参数的值。方法定义和调用方法都必须显式使用。

使用方式就不细讲了,直接说说它们的区别:

1) ref关键字:传递到 ref 参数的参数必须初始化,否则程序会报错;通过ref的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题

2)out关键字:把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数;另外,在函数使用out参数时,out参数必须看作是未赋值。通过out的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题

最新文章

  1. Oracle数据库11g各版本介绍及功能比较
  2. CustomUI Direct3D9_Sample
  3. Github Atom 1.12.0-beta3 发布
  4. javaweb回顾第十一篇过滤器(附实现中文乱码问题)
  5. 教你搭建SpringSecurity3框架( 更新中、附源码)
  6. 《深入理解计算机系统》深入实践之——vim深入研究
  7. 时间工厂[XDU1013]
  8. nginx location 匹配顺序
  9. NIO中Selector分析
  10. windows下apache及mysql定时自动重启设置
  11. Knockout应用开发指南(完整版) 目录索引
  12. C# 常用的dialogresult reset 以及if else 等检查获取客户操作信息的操作方法
  13. Echarts 使用遇到的问题
  14. homework-05 GoldNumberServer
  15. 20160322 javaweb 学习笔记--response验证码实现
  16. 【清澄A1333】【整体二分+二维树状数组】矩阵乘法(梁盾)
  17. check cable connection PXE-M0F: Exiting intel PXE ROM no bootable device-- insert boot disk and pre
  18. 使用nginx mirror 制作nexus 的简单ha
  19. malloc创建三维数组
  20. 【原创】angularjs1.3.0源码解析之执行流程

热门文章

  1. 我的Xamarin开发配置
  2. Python-- easy_install 的安装
  3. nodejs-翻转算法
  4. EntityFramework优化:SQL语句日志
  5. iconfont采坑
  6. 【IDE_IntelliJ IDEA】idea主题设置
  7. Linux kernel workqueue机制分析【转】
  8. python简单日志处理
  9. git仓库的安装和基本使用
  10. LoadRunner性能测试工具下载