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

Место общения программистов C#
Anonymous
Почему параметр out не может иметь значение по умолчанию?

Сообщение Anonymous »

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

Код: Выделить всё

public static void TryDoSomething(int value, out bool itWorked)
{
itWorked = 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

itWorked = // success of attempt to do thing
}
Мне хотелось бы иметь возможность устанавливать значение по умолчанию для параметра itWorked, чтобы мне не приходилось произвольно задавать значение в теле метода.< /p>

Код: Выделить всё

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

// try to do thing

itWorked = // success of attempt to do thing
}
Почему невозможно назначить значение по умолчанию для выходного параметра?

Подробнее здесь: https://stackoverflow.com/questions/239 ... ault-value

Вернуться в «C#»