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