Методы: перегрузка

Если для разных типов данных или при разном количестве передаваемых аргументов нужно запускать разные методы, то имеется возможность перегрузки методов.

static void Print(int a) {
  Console.WriteLine("Value: " + a);
  }
static void Print(double a) {
  Console.WriteLine("Value: " + a);
  }
static void Print(string label, int a) {
  Console.WriteLine(label + a);
  }

static void Main(string[] args) {
  Print(11);
  Print(4.13);
  Print("Ответ: ", 14);
  }

Перегрузка работает только при разных типах аргументов. Следующий код выведет ошибку:

int Print(int a) {}
float Print(int a) {}
double Print(int a) {}