После создания строки последовательность составляющих ее символов не может быть изменена. Благодаря этому ограничению строки реализуются в C# более эффективно. И хотя такое ограничение кажется на первый взгляд серьезным препятствием, на самом деле оно таковым не является. Когда требуется получить строку как разновидность уже существующей строки, достаточно создать новую строку, содержащую требующиеся изменения, и "отвергнуть" исходную строку, если она больше не нужна. А поскольку ненужные строковые объекты автоматически утилизируются средствами "сборки мусора'7
, то беспокоиться о дальнейшей судьбе ''отвергнутых77строк не приходится. Следует, однако, подчеркнуть, что переменные ссылок на строки могут, безусловно, изменить объект, на который они ссылаются. Но сама последовательность символов в конкретном строковом объекте не подлежит изменению после его создания.Для создания строк, которые нельзя изменить, в C# предусмотрен класс
StringBuilder,находящийся в пространстве именSystem. Text.Но на практике для этой цели чаще используется типstring,а не классStringBuilder.Класс String
Класс
Stringопределен в пространстве именSystem.В нем реализуются следующие интерфейсы:IComparable, IComparableКонструкторы класса String
В классе
Stringопределено несколько конструкторов, позволяющих создавать строки самыми разными способами. Для создания строки из символьного массива служит один из следующих конструкторов.public String(char[ ]
public String(char[ ]
Первая форма конструктора позволяет создать строку, состоящую из символов массива
С помощью приведенного ниже конструктора можно создать строку, состоящую из отдельного символа, повторяющегося столько раз, сколько потребуется:
public String(char
где
собозначает повторяющийся символ; a