Looking for c# Keywords? Try Ask4Keywords

C# Language Параметры по умолчанию


пример

Вы можете использовать параметры по умолчанию, если хотите предоставить возможность оставить параметры:

static void SaySomething(string what = "ehh") {
    Console.WriteLine(what);
}  

static void Main() {
    // prints "hello"
    SaySomething("hello"); 
    // prints "ehh"
    SaySomething(); // The compiler compiles this as if we had typed SaySomething("ehh")
}

Когда вы вызываете такой метод и опускаете параметр, для которого предоставляется значение по умолчанию, компилятор вставляет это значение по умолчанию для вас.

Имейте в виду, что параметры со значениями по умолчанию должны быть записаны после параметров без значений по умолчанию.

static void SaySomething(string say, string what = "ehh") {
        //Correct
        Console.WriteLine(say + what);
    }

static void SaySomethingElse(string what = "ehh", string say) {
        //Incorrect
        Console.WriteLine(say + what);
    }   

ПРЕДУПРЕЖДЕНИЕ . Поскольку это работает так, значения по умолчанию могут быть проблематичными в некоторых случаях. Если вы измените значение по умолчанию параметра метода и не перекомпилируете всех вызывающих лиц этого метода, эти вызывающие абоненты будут по-прежнему использовать значение по умолчанию, которое присутствовало, когда они были скомпилированы, что может привести к несогласованности.