- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3.2 方法的参数传递 1.按值传参 按值传参时,把实参变量的值赋给相对应的形参变量,即被调用的方法所接收到的只是实参数据值的一个副本。当在方法内部更改了形参变量的数据值时,不会影响实参变量的值,即实参变量和形参变量是两个不相同的变量,他们具有各自的内存地址和数据值。因此,实参变量的值传递给形参变量时是一种单向值传递。 值类型的参数在传递时默认为按值传参。string和object虽然是引用型数据,但从表现形式来看,其具有按值传参的效果。 4.3.2 方法的参数传递 【实例4-3】用值传参进行参数值交换 4.3.2 方法的参数传递 2.按引用传参 调用方向方法传递引用型参数时,调用方将把实参变量的引用赋给相对应的形参变量。实参变量的引用代表数据值的内存地址,因此,形参变量和实参变量将指向同一个引用。如果在方法内部更改了形参变量所引用的数据值,则同时也修改了实参变量所引用的数据值。 当值类型和string类型参数要按引用方式传参时,可以通过ref关键字来声明引用参数,无论是形参还是实参,只要希望传递数据的引用,就必须添加ref关键字。 4.3.2 方法的参数传递 【实例4-4】用引用传参进行参数值交换。 (1) 将【实例4-3】Swap方法声明改为引用型参数: public string Swap(ref int x,ref int y) (2) 将【实例4-3】Swap方法调用改为引用型传参: lblShow.Text = s.Swap(ref a, ref b); 自学:通过MSDN求证:string作为引用型,需用ref声明引用传递,否则按值传递。 4.3.2 方法的参数传递 3.输出参数 ref修饰的引用参数在传参前要求先初始化实参。但有时候实参应由方法调用结束后返回,所在在传参前确定其值是没有意义的。这时可以使用输出参数, 输出参数不需要对实参进行初始化,它专门用于把方法中的数据通过形参返回给实参,但不会将实参的值传递给形参。一个方法中可允许有多个输出参数。 C#通过out关键字来声明输出参数,无论是形参还是实参,只要是输出参数,都必须添加out关键字。 4.3.2 方法的参数传递 【实例4-5】用输出参数求文件路径中的目录和文件名。 4.3.2 方法的参数传递 4.引用类型数据的传参 引用类型参数总是按引用传递的,所以引用类型参数传递不需要使用ref或out关键字(string除外),引用类型参数的传递,实际上是将实参对数据的引用复制给了形参。所以形参与实参共同指向同一个内存区域。 【实例4-6】用引用类型数据的传参修改对象值。 4.3.2 方法的参数传递 5.数组型参数 数组也是引用类型数据,把数组作为参数传递时,也是引用传参。 数组作为参数,有两种使用形式: 一是在形参数组前不添加params修饰符,所对应的实参必须是一个数组名; 二是在形参数组前添加params修饰符。所对应的实参可以是数组名,也可以是数组元素值的列表,此时,系统将自动把各种元素值组织到一个数组中。 无论采用哪一种形式,形参数组都不能定义数组的长度。 4.3.2 方法的参数传递 【实例4-7】使用不添加params和添加params修改符的数组传参求数组中的最大值。 4.3.3 方法的重载 在编程时,一般是一个方法对应一种功能,但有时需要实现同一类功能,只是有些细节不同。 例: public int MaxIntTwo(int a, int b) { } public double MaxDouble(double a, double b) { } public int MaxIntThree(int a, int b, int c) { } public int MaxArray(int[] a) { } 允许用同一方法名定义多个方法,这些方法的参数个数或参数类型不同,这就是方法的重载(function overloading)。 4.3.3 方法的重载 方法重载有两点要求: (1) 重载的方法名称必须相同; (2) 重载方法的形参个数或类型必须不同,否则将出现一个“已定义了一个具有相同参数类型的成员” 如果要完成上例相似功能的4个方法,重载方法如下: public int Max(int a, int b) { } public double Max(double a, double b) { } public int Max(int a, int b, int c) { } public int Max(int[
您可能关注的文档
- 23《刷子李》1范例.ppt
- 《钢铁长城》同步3预案.ppt
- 13_只有一个地球()范例.ppt
- aVR单导联新流程4步诊断范例.ppt
- 23班班会冬学启动第二周范例.ppt
- 13_只有一个地球(公开课)范例.ppt
- 4-密码学技术预案.ppt
- AVSS电线基础知识范例.ppt
- 23给予是快乐的范例.ppt
- AW_ch9框架与导航范例.ppt
- 中国国家标准 GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地.pdf
- GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地.pdf
- 《GB/T 22517.2-2024体育场地使用要求及检验方法 第2部分:游泳场地》.pdf
- 苏教版(2017秋)科学三年级下册1.《种子发芽了》 教案(含课堂练习和反思).docx
- 2024-2025学年小学数学六年级上册冀教版(2024)教学设计合集.docx
- 地理商务星球版七年级上册4.5形成气候的主要因素 同步教案.docx
- 2024-2025学年中职中职专业课金融类73 财经商贸大类教学设计合集.docx
- 2024-2025学年初中地理七年级上册(2024)仁爱科普版(2024)教学设计合集.docx
- 2024-2025学年小学英语二年级上册外研版(一起)教学设计合集.docx
- 2024-2025学年高中数学选择性必修 第二册北师大版(2019)教学设计合集.docx
文档评论(0)