Почему перегрузка, как это работает в C#?Метод Перегрузка с отсутствующим и необязательным параметром
public string DisplayOverload(string a, string b, string c = "c")
{
return a + b + c;
}
public string DisplayOverload(string a, string b, out string c)
{
c = a + b;
return a + b;
}
в то время как это не работает
public string DisplayOverload(string a, string b, string c = "c")
{
return a + b + c;
}
public string DisplayOverload(string a, string b, string c)
{
return a + b + c;
}
Перегрузка метода основана на количестве аргументов и типах аргументов –
Последние 2 являются одной и той же подписью. Первые 2 отличаются друг от друга, поскольку у него есть параметр out. –
Первый может «работать», но это все еще запах кода. Делают разные вещи, поэтому давайте им разные имена. –