Основы языка C# 2005. Евсеева О.Н - 118 стр.

UptoLike

Составители: 

122
Console.WriteLine("s1={0}, s2={1}, b1={2}", s1,s2,b1);
s1= "\"A\"";
s2=@"""A""";
b1= (s1==s2);
Console.WriteLine("s1={0}, s2={1}, b1={2}", s1, s2, b1);
Результаты работы приведенных фрагментов кода, полученные при
вызове процедур TestDeclStrings и TestOpers приведены на рисунке 29.
Рисунок 29. Объявления, константы и операции над объектами string
Неизменяемый класс String
В языке C# существует понятие неизменяемый (immutable) класс. Для
такого класса невозможно изменить значение объекта при вызове его методов.
Динамические методы могут создавать новый объект, но не могут изменить
значение существующего объекта.
К таким неизменяемым классам относится и класс String. Ни один из
методов этого класса не меняет значения существующих объектов. Конечно,
некоторые из методов создают новые значения и возвращают в качестве
результата новые строки. Невозможность изменять значения строк касается не
только методов. Аналогично, при работе со строкой как с массивом разрешено
только чтение отдельных символов, но не их замена. Оператор присваивания, в
котором делается попытка изменить первый символ строки, недопустим, а
потому закомментирован.
//Неизменяемые значения
s1= "Zenon"; ch1 = s1[0];
//s1[0]='L';
8.3.3. Операции над строками
Над строками определены следующие операции:
присваивание (=);
две операции проверки эквивалентности (= =) и (!=);
конкатенация или сцепление строк (+);
взятие индекса ([]).