原文地址:http://www.cnblogs.com/hubj/archive/2008/12/24/1361811.html

在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

转载于:https://www.cnblogs.com/luofuxian/archive/2009/09/03/2377463.html

C# ref与out区别相关推荐

  1. 浅谈ref与out区别

    今天又一次碰到了ref与out区别的问题,当初总认为自己学的还不错,但每次遇到后都要纠结一番,这次再次学习和巩固一下. MSDN中的定义: ref 关键字使参数按引用传递.其效果是,当控制权传递回调用 ...

  2. vue3 ref 和 reactive 区别

    前言 最近学习cloud项目,前端使用到 vue3 + ts 等技术,在写需求过程中遇到响应式数据问题,经百度查找相关笔记,在此记录一下,在实战中成长吧. 问题 出现的问题:定义一个默认数组并且 fo ...

  3. out和ref之间的区别

    首先:两者都是按引用传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空.这 ...

  4. c#中out和ref的使用区别 [转]

    ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点.使用ref前必须对变量赋值,out不用. out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都 ...

  5. ref out param 区别

    如果在方法声明参数中未使用ref或out关键字,在方法中更改参数的值,当控制传递回调用过程时,不会保留更改的值:我们可以通过方法参数关键字,更改这种行为. 1.ref 2.out 3.params r ...

  6. C#中out和ref之间的区别【转】

    首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...

  7. C#中out和ref使用的区别

    看了网上许多关于out和ref关键字的使用介绍,自己为了方便记住,稍微简略总结了下两者的区别: a. 赋值: (1)ref要求变量使用前必须先赋值(2)out不必要,赋了也没关系,但会清零 b. 传出 ...

  8. ref和out区别总结

    ref:是必需要先初始化才能用,但调用时可以对它什么也不做. out:可以不初始化也能用,但调用时一定要对其赋值(即使已经初始化的也要赋值,哪怕是赋一个和原来一样的值). 转载于:https://ww ...

  9. C#中ref与out区别

    static void Main(string[] args){//out testint a, b;//out使用前,变量可以不赋值outTest(out a, out b);Console.Wri ...

  10. VB.NET 中的ref 和C#中的ref 格式区别

    今天把一个VB.NET的程序翻成C#的,在ref这堵了半天. 函数定义是这样的: Public Shared Function GetUsers(ByVal portalId As Integer,  ...

最新文章

  1. 1.1 MySQL 逻辑架构
  2. C#编程(四十四)----------string和stringbuilder
  3. C语言中函数可变参数解析
  4. web安全之文件上传漏洞攻击与防范方法
  5. WebKit 内核源码分析 (二) FrameLoader
  6. C# DataGridView 动态添加列和调整列顺序
  7. document.write()
  8. redis五种常见的数据结构
  9. 实时计算storm流程架构总结
  10. 本地图片预览代码(支持 IE6、IE7)
  11. StarUML3.0.2——超好用的UML画图工具推荐
  12. 嗨,你真得懂this吗?
  13. 你知道怎么衡量硬件设备的算力吗?
  14. 视频在线发布网站HTML模板分享
  15. 8086-逻辑运算指令
  16. [分享]蓝屏代码查询及代码分析
  17. 见缝插针游戏制作笔记
  18. 白天不懂夜的黑,众人不识O2O真身
  19. php微信小程序服务商支付模式
  20. 利用分洽法求一组数据中最大的两个数。

热门文章

  1. Java笔记-Spring中RabbitMQ的调用
  2. C++设计模式-模板方法模式
  3. 解决mysql ERROR 1045(28000)问题【忘记密码,修改配置文件,无密码登录mysql修改密码】
  4. Qt的信号槽机制介绍(含Qt5与Qt4的差异对比)
  5. 北京大学计算机系 丁主任,丁骋、李时新参加第七届新闻史论青年论坛暨北京大学新闻学研究会年会...
  6. php进阶课程,php进阶教程学习
  7. html上拉下拉查看文字内容,html5上拉下拉事件效果演示
  8. matlab出错及解决办法,Linux下使用Matlab符号函数出错的解决办法
  9. java时间差的百分之二十,Java对日期Date类进行加减运算、年份加减月份加减、时间差等等...
  10. 深入理解计算机系统 相关课程,深入理解计算机系统