Может показаться, что они делают одно и то же, но есть довольно важное различие в том, что происходит.Оба они передают параметр через ссылку, но их варианты использования различны, также как и некоторые другие правила.
'theWeight' становится 'weight'
Поскольку они передаютсяпо ссылке в обоих случаях theWeight
и weight
оба ссылаются на одно и то же значение.
Когда вы используете команду ref
, переменная, которую вы передаете, должна быть инициализирована до вызова.Это не обязательно должно иметь место при использовании out
.
Но с другой стороны, при использовании out
в методе, параметр, отмеченный им, должен быть назначен перед методомготово.
Есть еще несколько отличий, но главное, что нужно убрать, это то, что оба передают переменную по ссылке.