Возможный дубликат:
Почему строки не могут быть изменяемыми в Java и .NET?
Почему строки .NET неизменяемы?Для этого было выбрано несколько языков, таких как C#, Java и Python. Если он предназначен для экономии памяти или повышения эффективности таких операций, как сравнение, как это повлияет на конкатенацию и другие операции модификации?