Есть ли способ иметь параметры функции по умолчанию в C#, как в C++?Параметры функции по умолчанию в C#
например:
foo(int i = 10, int j = 20) {}
Есть ли способ иметь параметры функции по умолчанию в C#, как в C++?Параметры функции по умолчанию в C#
например:
foo(int i = 10, int j = 20) {}
Named and optional parameters новинка в C# 4.0.
Да, параметры по умолчанию в C# 4.0.
Вы можете сделать это только в C# 4.0.
Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/faq#reputation), вы сможете [прокомментировать любое сообщение] (http://stackoverflow.com/privileges/comment). – skolima
@skolima. Вы используете инструменты, не проверяя ответы. Он отвечает на вопрос, и это правильный ответ. Хотя этот ответ можно было бы улучшить. – gdoron
@gdoron Это дубликат принятого ответа и пришел позже. Да, автоматический комментарий не подходит, это моя ошибка, но этот ответ ничего не способствует. – skolima
, если у вас нет C# 4 вы можете определить свой метод в два раза, как это:
public int MySillyMethod(int a)
{
return MySillyMethod(a, 1);
}
public int MySillyMethod(int a, int b)
{
return a*b;
}
Просто немного «Протест»: Дополнительные параметры компилируются в вызывающей, что может быть проблематичным, если вызывающему и вызываемые лица находятся в двух разных сборках, поскольку изменения в сборке, содержащие эту функцию, не обновляются в потребителях, если они не перекомпилированы. http://www.stum.de/2010/04/19/how-optional-parameters-work-why-they-can-be-dangerous-and-why-they-work-in-net-23-as- well/ –