Есть ли разница между return value или out value?

Собственно вопрос очень простой и решил его задать для своего любопытства. Есть ли разница каким способом мне возвращать данные?

private void PrintValue()
   {
       //Способ номер 1
       string str1 = GetValue();
       //Способ номер 2
       GetValue(out string str2);
       Debug.Log(str1);
       Debug.Log(str2);
   }

   //Способ номер 1
   private string GetValue()
   {
       var value = "Hello World!";
       return value;
   }

   //Способ номер 2
   private void GetValue(out string value)
   {
       value = "Hello World!";
   }

Ответы (1 шт):

Автор решения: Fishmarket

Если нужно возвращать несколько элементов, лучше использовать выходной параметр. В случае одного возвращаемого элемента или успешном или неудачном выполнении лучше return.

Типичный пример для out методы TryaParse. Например, int.TryParse возвращает значение true или false в зависимости от того, действительно ли переданная строка является числом или нет. Чтобы при необходимости не пришлось заново парсить.

→ Ссылка