2023-06-13
自我提升
0

函数的重载 - Overload

为什么使⽤函数重载?
假设我们有⼀个函数⽤来实现求得⼀个数组的最⼤值

c#
static int MaxValue(int[] intArray){ .... return; }

这个函数只能⽤于处理int数组,如果想处理double类型的话需要再定义⼀个函数

c#
static double MaxValue(double[] doubleArray){ ... return; }

函数名相同,参数不同,这个叫做函数的重载
编译器通过不同的参数去识别应该调⽤哪⼀个函数

c#
static int MaxValue(int[] array) { int max = array[0]; for (int i = 1; i < array.Length; i++) { if (max < array[i]) { max = array[i]; } } return max; } static double MaxValue(double[] array) { double max = array[0]; for (int i = 1; i < array.Length; i++) { if (max < array[i]) { max = array[i]; } } return max; } static void Main(string[] args) { Console.WriteLine(MaxValue(new int[] { 45, 12, 57, 34, 534, 534, 5323, 324 })); Console.WriteLine(MaxValue(new double[] { 45, 12, 57, 34, 534, 534, 5323, 324,23453.3 })); }

提示

编译器会根据你传递过来的实参的类型去判定调⽤哪⼀个函数