Я только что видел это в документах MS Visual Studio, и часть, выделенная жирным шрифтом, не имеет смысла для меня. Это неправильно или я не правильно понимаю? Если вы запустите это, b будет содержать «привет» (как я и ожидал), а не «h».
Строки неизменны - содержимое объекта строки не может быть изменено после создания объекта, хотя синтаксис заставляет его выглядеть так, как будто вы можете это сделать. Например, когда вы пишете этот код, компилятор фактически создает новый строковый объект для хранения новой последовательности символов, , а переменная b продолжает содержать «h» .
string b = "h";
b + = "ello";