Объясните пожалуйста для чего нужен модификатор ref и out?
В книге Троелсона, которую я начал читать, я не до конца понял зачем вообще нужны эти модификаторы(ref, out). Поэтому если возможно приведите небольшой пример использования их, вместе с объяснением зачем они нужны. Заранее спасибо!
Я это все понимаю, просто не могу догнать зачем передавать значение переменной по ссылке в метод, если тоже самое будет если просто передать переменную в метод без ref
Илья, В твоей книге нормально обьясняются различия
• Output parameters do not need to be initialized before they passed to the method.
The reason for this is that the method must assign output parameters before exiting.
• Reference parameters must be initialized before they are passed to the method.
The reason for this is that you are passing a reference to an existing variable. If you
don’t assign it to an initial value, that would be the equivalent of operating on an
unassigned local variable.
edward_freedom, У меня же вопрос звучит - для чего нужны в глобальном смысле (где я обязан это использовать, где не нужно). А книгу я читал внимательно и знаю их различия
Я это все понимаю, просто не могу догнать зачем передавать значение переменной по ссылке в метод, если тоже самое будет если просто передать переменную в метод без ref
Потому что в c# есть типы которые передаются по значению в методы, а значит копируются их значения. Поэтому если ты передал в метод int, то его значение скопируется в метод и в нем будет новый int, сколько его не меняй, внешний int не поменяется. А вот если ты хочешь чтобы это был один и тот же int и изменения внутри метода влияли на изначальное значение, то пишешь ref