Warum kann ein out-Parameter keinen Standardwert haben?

Wenn ich derzeit versuche, etwas in einer Methode zu tun, die einen out-Parameter verwendet, muss ich den Wert des out-Parameters im Methodenkörper zuweisen, z.

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
}

Ich möchte in der Lage sein, einen Vorgabewert von einzustellenitWorked Parameter, damit ich den Wert im Hauptteil der Methode nicht willkürlich festlegen muss.

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
}

Warum ist es nicht möglich, einen Standardwert für ein zuzuweisen?out Parameter?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage