全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
巧妙理解方法的值参数与引用参数方法的传值与传地址一直是困扰很多初学者的问题,下面有一种容易理解的方法,先看下面的程序:class Program static void SwapValue(int a, int b) int temp = a; a = b; b = temp; static void Main(string args) int a = 100; int b = 10; Console.WriteLine(执行传值函数前a=0,b=1,a,b); SwapValue(a, b); Console.WriteLine(执行传值函数后a=0,b=1, a, b); Console.ReadLine(); 运行的结果为:可见,调用方法SwapValue(int a,int b) 后,实参a,b的值并没有改变.参数可以通过引用或值传递给方法。在变量通过引用传递给方法时,被调用的方法得到的就是这个变量,所以在方法内部对变量进行的任何改变在方法退出后仍旧发挥作用。而如果变量是通过值传送给方法的,被调用的方法得到的是变量的一个副本,也就是说,在方法退出后,对变量进行的修改会丢失。对于复杂的数据类型,按引用传递的效率更高,因为在按值传递时,必须复制大量的数据。现在举例便于理解:建立两个文件夹 SwapValue和Main在Main文件夹中建立两个文本文件a和b,存放的类容分别是100和10 由于如果变量是通过值传送给方法的,被调用的方法得到的是变量的一个副本,也就是说复制了一份,那么,把刚才Main文件夹下面的a和b两个文件都复制到SwapValue文件夹下面然后把文件a的类容改为10,文件b的类容改为100,这类似方法的值传递,改变数值是在复制的副本上进行更改的,显然Main文件夹的类容不会改变.再看看传引用参数的程序示例:class Program static void SwapRef(ref int a,ref int b) int temp = a; a = b; b = temp; static void Main(string args) int a = 100; int b = 10; Console.WriteLine(执行传址函数前a=0,b=1,a,b); SwapRef(ref a,ref b); Console.WriteLine(执行传址函数后a=0,b=1, a,b); Console.ReadLine(); 运行结果为:结果a和b的值互换了.通过值传送变量是默认的,也可以迫使值参数通过引用传送给方法。为此,要使用ref关键字。如果把一个参数传递给方法,且这个方法的输入参数前带有ref关键字,则该方法对变量所作的任何改变都会影响原来对象的值.举例如下,另外建立一个文件夹SwapRef在SwapRef文件夹下面建立两个快捷方式,分别指向Main文件夹中的a和b 文件然后把SwapRef 文件夹下面的a 文件类容改为10,b文件类容改为100保存,再打开Main下面的a文件,发现类容改了,成来了10,b类容也改了,成了100.快捷方式其实就是指向原文件的地址的引用,它和原文件共用一块区域.这与引用参数有相似之处,引用参数并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橱柜灯光施工方案(3篇)
- 景区门票收入核算制度
- 2026届河南省非凡吉名校创联盟高三上英语期末检测模拟试题含解析
- 2026广东湛江市消防救援支队政府专职消防员招录54人备考题库(第一期)及参考答案详解一套
- 2026北京中关村第三小学永新分校招聘备考题库(含答案详解)
- 2026四川雅安市老干部活动中心招聘1人备考题库及答案详解(新)
- 2026江西吉安市吉水县综合交通运输事业发展中心面向社会招聘司机及系统操作员2人备考题库及1套完整答案详解
- 2026山东烟台市莱山区事业单位招聘备考题库有完整答案详解
- 琴行财务制度
- 法院加强财务制度
- 环境多因素交互导致慢性病共病的机制研究
- 2026湖南衡阳耒阳市公安局招聘75名警务辅助人员考试参考题库及答案解析
- 2026年中共佛山市顺德区委组织部佛山市顺德区国有资产监督管理局招聘备考题库及参考答案详解
- 多重耐药菌医院感染预防与控制技术指南完整版
- 2026年1月浙江省高考(首考)英语试题(含答案详解)+听力音频+听力材料
- 河南新乡鹤壁安阳焦作2026年1月高三一模物理试题+答案
- 2026年食品安全快速检测仪器项目可行性研究报告
- 2025年新版八年级上册历史期末复习必背历史小论文范例
- 2026年及未来5年市场数据中国电能计量装置市场竞争格局及投资战略规划报告
- 智慧物流背景下多式联运的协同发展与运输效能提升研究毕业论文答辩汇报
- 替人背债合同范本
评论
0/150
提交评论