先来看一下代码:
using System;
using System.Collections.Generic;
using System.Text;
namespace ChBurden
{
class Program
{
//所定义的类型是int的myStatic函数:
static int myStatic(int[] comeInt)
{
int keepInt;
keepInt = comeInt[0];
for (int i = 1; i < comeInt.Length; i++)
{
if (comeInt[i] > keepInt)
{
keepInt = comeInt[i];
}
}
Console.WriteLine("以上是Int的输出");
return keepInt;
}
//所定义的类型是double的myStatic的函数:
static double myStatic(double[] comeDouble)
{
double keepDouble;
keepDouble = comeDouble[0];
for (int i = 1; i < comeDouble.Length; i++)
{
if (comeDouble[i] > keepDouble)
{
keepDouble = comeDouble[i];
}
}
Console.WriteLine("以上是Double的输出");
return keepDouble;
}
static void Main(string[] args)
{
//被声明int类型的:
int[] myInt ={25,87,65,100,325,56,987,102};
//被声明double类型的:
double[] ōkDouble = {51102,23548,98710,3548,21456,56871};
double myDouble;
//由于myInt是int类型,所以会选择第一个myStatic的函数
myDouble = myStatic(myInt);
Console.WriteLine("{0}",myDouble);
//由于okDouble是double类型,所以会选择第二个myStatic的函数
myDouble = myStatic(okDouble);
Console.WriteLine("{0}",myDouble);
Console.ReadKey();
}
}
}
说明如下:
在上述的代码中,采用的是函数重载的方法进行处理.原理是:多个函数采用相同的函数名,但所定义的类型和所定义的形参不相同,当调用相应的代码时,会按照所传递的实参的类型而去定位所被调用的函数,而且也可以按照相参数的个数来进行定位.