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()
          //重写方法当做实际工作的方法。
                        
      }
 
   
  }

 

posted @   破碎s  阅读(727)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
点击右上角即可分享
微信分享提示