Если для разных типов данных или при разном количестве передаваемых аргументов нужно запускать разные методы, то имеется возможность перегрузки методов.
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) {}