Если у вас есть функция с параметром out, лучше ли создавать новую переменную внутри функции и назначать ей параметр out в конце функции?Или задайте для параметра out какое-нибудь пустое значение / значение по умолчанию в начале и измените его во всей функции.
Я пытаюсь придумать некоторые соображения относительно того, почему один из этих стилей / методов кодирования лучше использовать.
Вариант 1: использование только параметра out.
public bool SomeFunc(out string outStr)
{
outStr = "";
if (errorCond)
return false;
outStr += "foo";
outStr += "bar";
return true;
}
Вариант 2: использование временной переменной.
public bool SomeFunc1(out string outStr)
{
string tempStr = "";
outStr = ""; // To prevent 'The out parameter must be set' error on return false line.
if (errorCond)
return false;
tempString += "foo";
tempString += "bar";
outStr = tempStr;
return true;
}
Даже при том, что оба они достигают одного и того же результатачто предпочтительнее?Есть ли недостатки у одного из них?