C# 方法重载


方法重载

方法重载,多个方法可以具有相同的名称和不同的参数:

示例

int MyMethod(int x)
float MyMethod(float x)
double MyMethod(double x, double y)

考虑以下示例,其中有两种将不同类型的数字相加的方法:

示例

static int PlusMethodInt(int x, int y)
{
  return x + y;
}

static double PlusMethodDouble(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethodInt(8, 5);
  double myNum2 = PlusMethodDouble(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

亲自试一试 »

与其定义两个应该做同样事情的方法,不如重载一个方法。

在下面的例子中,我们重载了PlusMethod对两者都适用的方法intdouble:

示例

static int PlusMethod(int x, int y)
{
  return x + y;
}

static double PlusMethod(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethod(8, 5);
  double myNum2 = PlusMethod(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

亲自试一试 »

笔记:只要参数的数量和/或类型不同,多个方法就可以具有相同的名称。