基本概念

在同一语句块(class或者struct)中,函数(方法) 名相同,参数的数量不同,或者梅长苏的数量相同,当参数的类型或顺序不同。

作用:

1.命名一组功能相似的函数,减少函数名的数量,避免命名空间的污染。

2.提升程序可读性

实例

注意:

1.重载和返回值类型无关,只和参数类型,个数,顺序有关

2.调用时,程序会自己根据传入的数据类型判断使用哪一个重载

internal class Program
{
    static int CalcSum(int a, int b)
    {
        return a + b;
    }
    //参数数量不同
    static int CalcSum(int a, int b, int c)
    {
        return a + b + c;
    }

    //数量相同,类型不同
    static float CalcSum(int a, float f)
    {
        return a + f;
    }

    //ref和out
    //ref和out,可以理解成,它们也是一种变量类型,所以可以用在重载中,但是ref和out不能同时修饰
    static float CalcSum(ref float f, int a)
    {
        return f + a;
    }

    static float CalcSum(int a, int b, params int[] arr)
    {
        return 1;
    }
    private static void Main(string[] args)
    {
        float f = 1.2f;
        CalcSum(1, 2);
        CalcSum(ref f, 2);
        CalcSum(1, 2, 3);
        CalcSum(1, 1.2f);
    }
}
06-13 07:36