Как я могу создать метод для значений параметров по умолчанию?
Параметры метода по умолчанию в С#
Ответ 1
Вы можете сделать это только на С# 4, в котором представлены именованные аргументы и необязательные параметры:
public void Foo(int x = 10)
{
Console.WriteLine(x);
}
...
Foo(); // Prints 10
Обратите внимание, что значение по умолчанию должно быть константой - либо обычной константой времени компиляции (например, литералом), либо:
- Беспараметрический конструктор типа значения
-
default(T)
для некоторого типаT
Также обратите внимание, что значение по умолчанию встроено в сборку вызывающего абонента (при условии, что вы опускаете соответствующий аргумент) - поэтому, если вы измените значение по умолчанию, не перестраивая код вызова, вы все равно увидите старое значение.
Это (и другие новые функции на С# 4) описаны во втором выпуске С# в глубине. (Глава 13 в этом случае.)
Ответ 2
С# 4.0 позволяет использовать именованные и необязательные аргументы:
public void ExampleMethod(
int required,
string optionalstr = "default string",
int optionalint = 10
)
В предыдущих версиях вы могли имитировать параметры по умолчанию с помощью перегрузки метода.
Ответ 3
Вы просто объявляете их со значениями по умолчанию - они называются необязательные параметры:
public void myMethod(string param1 = "default", int param2 = 3)
{
}
Это было введено в С# 4.0 (так что вам нужно будет использовать visual studio 2010).
Ответ 4
Простым решением является перегрузка метода:
private void Foo(int length)
{
}
private void Foo()
{
Foo(20);
}