Согласно документации C # для out :
Ключевое слово out вызывает передачу аргументов по ссылке.Это похоже на ключевое слово ref, за исключением того, что ref требует инициализации переменной перед ее передачей.
Итак, используйте параметр ref
, когда вам нужно передать значение в метод,а также получить значение из метода.Используйте параметр out
, когда поток информации идет только от метода к вызывающей стороне.Чтобы завершить рассказ, есть параметр «неукрашенные значения», который передает информацию в метод, но не может получить информацию обратно из метода.
Я не совсем понимаю, что out
и ref
толькоиспользоваться, когда вам нужно вернуть более одного элемента из метода.Я всегда предпочитаю использовать out
для возврата значений из методов, имеющих побочные эффекты.
Для меня это ответ на ваш вопрос.Вернуть одно значение из функции через возвращаемое значение функции, если метод не имеет побочных эффектов, и если имя метода является существительным, соответствующим значению возвращаемого значения.В противном случае возвращайте значения через параметры out
или ref
.