другого класса, он передается по ссылке? Или это нужно явно указывать?
foo (ref MyClass obj);
Язык? В шарпе по ссылке
По логике вещей в шарпах точно ссылка То есть без ref можешь передавать да
Тут есть ньюанс. Передача переменной ссылочного типа без ключевого слова ref передает копию ссылки. Это приводит к тому, что изменение объекта внутри функции отражается на исходном объекте, а изменение ссылки - нет. То есть если ты присваиваешь свойству объекта другое значение, то соответствующее свойство исходного объекта изменится, а если присвоишь переданной переменной новый объект, то в дальнейшем работа будет происходить с этим новым объектом и все изменения, которые ты в него внесешь, наружу не попадут.
Обсуждают сегодня