Почему параметр 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
параметр?