在日常生活中,有些行为具有相同的名称,但是可以执行不同的操作,我们经常去商场买东西,虽然都是购物,每次执行这个任务时购买的物品,付款多少,购买过程都是不同的,所以虽然任务相同,但每次处理的数据是不同的。
在C#中用重载方法执行类似功能。方法重载的定义:多个方法具有相的的名称,但是对不同数据执行相似的过程。
C#中的方法重载包括基于不同数量的参数方法重载和基于不同类型的参数方法重载。
1、基于不同数量的参数的方法重载
using System; class Class1 { int numberone(int num1, int num2) { Console.WriteLine("{0}和{1}中较大的数字是:", num1, num2); if (num1 > num2) { return num1; } else { return num2; } } int numberone(int num1, int num2, int num3) { Console.WriteLine("{0},{1}和{2}中最大的数值是:", num1, num2, num3); if (num1 > num2 && num1 > num3) { return num1; } if (num2 > num1 && num2 > num3) { return num2; } else { return num3; } } static void Main(string[]args) { Class1 classone = new Class1(); //构造方法 Console.WriteLine(classone.numberone(22, 88)); //传参并输出 Console.WriteLine(classone.numberone(220, 880, 100)); //传参并输出 Console.ReadLine(); //等待用户操作,退出 } }
方法名称相同,但是参数数量不同,在调用方法时,传入不同的参数个数,系统会自动根据参数个数去寻找相匹配的方法,这就是方法的重载。