函数的重载 - 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 }));
}
提示
编译器会根据你传递过来的实参的类型去判定调⽤哪⼀个函数