首页 > 编程语言 >2023/3/5 C#学习笔记

2023/3/5 C#学习笔记

时间:2023-03-05 19:32:38浏览次数:31  
标签:C# void 笔记 编译器 参数 2023 实参 默认值 method

实现不同版本的重载方法的定义和使用

通过使用可选参数和具名参数实现编译器根据参数自动选择重载方法版本

*可选参数:定义方法时为参数提供默认值,没有提供默认值的参数是必需参数,提供默认值的参数是可选参数,可选参数只能放在必须参数之后,例如:

1*void method(int first,double second =2.0,char third = 'c' )

{

}

2*void method(int first,double second =2.0 )

{

}

3*void method(int first )

{

}

4*void method( )

{

}

*调用方法时,必需参数必须提供实参,可选参数可以省略,例如:

method(1);

method(1,3.0);

*调用方法时,没有提供实参的可选参数,在方法运行时,使用默认值。

*C#默认根据每个实参在方法调用中的位置判断对应形参,例如以下调用方式中参数填写就是错误的,但是编译器不会报错,会自动做数据类型转换。

method(1,'a')

实参字符a会传递给参数second,并不会传递给参数third;

*传递具名参数

C#允许按名称指定具名参数,这样就可以按不同的顺序传递参数,方法是输入参数名和一个冒号,然后是要传递的实参,具名参数可以按照任意顺序传递实参,还可以省略实参,参数按默认值运行。例如:

method(fist : 1,third : 'c');

如果如下调用方法

method(1);

省略了second,third参数,版本1,2,3都适用,那么编译器会选择哪个版本呢?

答案是都不选,因为有歧义,编译器会报错。


标签:C#,void,笔记,编译器,参数,2023,实参,默认值,method
From: https://blog.51cto.com/u_15457717/6101591

相关文章

  • sftp error: process_write: write failed
    问题描述使用sftp传输东西,结果只传了个空文件过去,内容全无查看messages日志sftp-server[16089]:error:process_write:writefailed原因分析:资源不够用a.ulimit-afile......
  • Cisco ISR路由器与Hillstone 防火墙对接IPsec
    用户需求:公司总部有一台Hillstone防火墙,分公司有一台CiscoISR路由器,现在用户想在分公司访问总部的内网资源,于有就有了这一次的IPsec对接。配置过程:一、CiscoISR路由器cryp......
  • Perception Prioritized Training of Diffusion Models
    目录概Motivation本文的方法代码ChoiJ.,LeeJ.,ShinC.,KimS.,KimH.andYoonS.Perceptionprioritizedtrainingofdiffusionmodels.InIEEEComputerVisi......
  • 每日总结2023/3/5
    今天学习了AndroidStudio中的系统通知 具体是关于Android中notification的使用 NotificationManager:通知管理器,用来发起、更新、删除通知NotificationChannel:通知......
  • 2023/03/05刷题
    链接A.Domino这个题还是比较有意思的.我们可以统计左边奇数的数量和右边奇数的数量,然后还需要统计一下左边和右边奇偶性不同的个数.(因为这样的一对数才能翻转.)最后综......
  • .NET6 MVC 传值的五种方式
    //Controller:ViewBag.User1="张三";ViewData["User2"]="李四";TempData["User3"]="王五";HttpContext.Sessio......
  • [ABC231E] Minimal payments
    [ABC231E]Minimalpayments-洛谷|计算机科学教育新生态(luogu.com.cn)题目关键信息,a[i]是a[i-1]的倍数,a[1]=1;举例一组数据:3129110100显然可以有,2*100找......
  • Chrome Firefox, devtool的elements的box model,有些区别
        同样的codepen网页,一个heightwidth都是0一个就不是 ......
  • spring找不到配置文件applicationContext.xml
    问题描述:报错信息为Causedby:java.io.FileNotFoundException:classpathresource[applicationContext.xml]cannotbeopenedbecauseitdoesnotexisttarget目......
  • 技术管理学习笔记(二)- 能力模型
    一:建立合理的沟通通道    稳定性 通道的稳定,其重点在于双方信任, 不会因为小误会而崩解,更容易获得包容与谅解。    性能   通道的性能,在于双方的......