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