Почему параметр 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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