C#函数重载与委托

同一个函数,根据不同的参数执行不同的操作叫函数重载;
相同的参数,在不同场合可调用不同的函数来操作叫委托;

同一个函数,既可对int数组求最大值,也可对double数组求最大值,这是重载;
同一个int数组,既可对它们求最大值,也可对他们求最小值,这是委托;

函数重载:
static void Main(string[] args)
{
    int[] i = { 3, 9, 4, 5, 6, 14, 7, 10 };
    Console.WriteLine(MaxValue(i)); //求int数组最大值
    double[] j ={ 2.1, 3.4, 5, 8.8, 7.2, 5.6 };
    Console.WriteLine(MaxValue(j)); //求double数组最大值
    Console.ReadKey();
}
static int MaxValue(int[] intArray)
{
    int maxValue = intArray[0];
    for (int i = 0; i < intArray.Length; i++)
    {
        if (intArray[i] > maxValue) maxValue = intArray[i];
    }
    return maxValue;
}
static double MaxValue(double[] doubleArray)
{
    double maxValue = doubleArray[0];
    for (int i = 0; i < doubleArray.Length; i++)
    {
        if (doubleArray[i] > maxValue) maxValue = doubleArray[i];
    }
    return maxValue;
}

函数委托:
delegate int MaxOrMin(int[] intArray);
static void Main(string[] args)
{
    int[] i = { 3, 9, 4, 5, 6, 14, 7, 10 };
    MaxOrMin maxOrMin = new MaxOrMin(MaxValue); //调用MaxValue函数来求最大值
    Console.WriteLine(maxOrMin(i));
    maxOrMin = new MaxOrMin(MinValue); //调用MinValue函数来求最小值
    Console.WriteLine(maxOrMin(i)); //求最大和最小都是用maxOrMin!
    Console.ReadKey();
}
static int MaxValue(int[] intArray)
{
    int maxValue = intArray[0];
    for (int i = 0; i < intArray.Length; i++)
    {
        if (intArray[i] > maxValue) maxValue = intArray[i];
    }
    return maxValue;
}
static int MinValue(int[] intArray)
{
    int minValue = intArray[0];
    for (int i = 0; i < intArray.Length; i++)
    {
        if (intArray[i] < minValue) minValue = intArray[i];
    }
    return minValue;
}


上一篇: 函数重载:C# VS JS
下一篇: 一接通电源机子自动开机
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4949
发表评论
登录后再发表评论!