基本概念
在同一语句块(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);
}
}