Почему параметр out не может иметь значение по умолчанию?

В настоящее время при попытке сделать что-то в методе, который принимает параметр out, мне нужно присвоить значение параметра out в теле метода, например,

public static void TryDoSomething(int value, out bool itWorkerd)
{
    itWorkerd = true;

    if (someFavourableCondition)
    {
        // if I didn't assign itWorked variable before this point, 
        // I get an error: "Parameter itWorked must be assigned upon exit.
        return;
    }

    // try to do thing

    itWorkerd = // success of attempt to do thing
}

Я хотел бы иметь возможность установить значение по умолчаниюitWorked параметр, поэтому мне не нужно произвольно устанавливать значение в теле метода.

public static void TryDoSomething(int value, out bool itWorkerd = true)
{
    if (someFavourableCondition)
    {
        // itWorked was already assigned with a default value
        // so no compile errors.
        return;
    }

    // try to do thing

    itWorkerd = // success of attempt to do thing
}

Почему невозможно назначить значение по умолчанию дляout параметр?

Ответы на вопрос(5)

Ваш ответ на вопрос