Назначение - это действие, которое влияет на переменные .Сами переменные независимы.Важное различие между значениями и ссылочными типами заключается в том, хранятся ли данные в самой переменной или где-либо еще (а переменная содержит только ссылку).
Таким образом, при присвоении переменнойвы изменяете содержимое этой переменной 1 .Само по себе это не будет иметь видимых эффектов для любой другой переменной.
Когда вы часто будете замечать разницу между типами значений и ссылочными типами, это когда вы мутируете данные .Здесь разница заметна, потому что, когда вы изменяете данные типа значения, вы делаете это через определенную переменную, и вы изменяете копию этой переменной данных .Принимая во внимание, что, когда вы изменяете данные для ссылочного типа, вы изменяете данные и все переменные, которые ссылаются на ту же копию данных , будут иметь видимое изменение для них.
Но, так как string
не имеет никаких (без уловок отражения или небезопасного кода) изменяемых полей или методов мутации, вы никогда не сможете наблюдать такие мутации с string
переменными.
1 Здесь я имею в виду локальные переменные и поля.Другие формы присваивания (например, свойствам) могут запускать произвольный код, и, конечно, они могут иметь другие видимые побочные эффекты.