c#重载
方法的重载:C#允许在一个类中定义方法的不同版本,编译器会自动根据提供的参数选择最适合的版本。
编写下面的代码:
1 2 | int X = 10; Console.WriteLine(X); |
要显示一个字符串,编写下面代码:
1 2 | string MS = "Hello word" ; Console.WriteLine(MS); |
那这是如何实现的呢?Console.WriterLine()的参数类型是什么?如果它是一个字符串,则第一个例子就会编译错误,因为int不能隐式地将数据类型转换成string.同理,如果Console.WriterLine()的参数类型是int的话,第二个例子编译会出错。但是实际上这两个例子都不会产生编译错误,运行后都可以得到所希望的结果。
因为是有两个不同的Console.WriterLine()方法。——一个方法的参数是int,另一个参数是string,实际上有许多个不同的Console.WriterLine()方法。这就是重载。
下面是例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | static void Main( string [] args) { int a = 50; int b = 30; int sum = 60; double c = 0.2; student stu = new student(); Console.WriteLine( stu.chaWithBoyAndGirl(a, b)); Console.WriteLine(stu.chaWithBoyAndGirl(sum,c)); } } class student { int a; public int chaWithBoyAndGirl( int boy, int girl) { a = boy - girl; return a; } //运用重载,参数一个是int,一个是double. public int chaWithBoyAndGirl( int sum, double bitOfBoy) { int boy = Convert.ToInt32(sum*bitOfBoy); int girl = sum - boy; return chaWithBoyAndGirl(boy, girl); //这里就是重载的好处,就可以吧 chaWithBoyAndGirl() //重写方法当做实际工作的方法。 } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee