Top.Mail.Ru

Язык С#. Символы и строки

В C# существуют два вида строковых констант (литерал):

  • обычные константы - строка символов, заключенная в кавычки    string str= “d:\\СП21\\С#”;
  • @-константа - константа c предшествующим знаком @                           string str= @ “d:\СП21\С#”;

В @-константах все символы трактуются в соответствии с их изображением, поэтому путь к файлу лучше задавать @-константой.

Класс Char

Char – символы  в кодировке Unicode -  хранятся в двух байтах

Методы класса Char

GetNumericValue

Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае.

GetUnicodeCategory

Возвращает категорию Unicode-символа. В Unicode символы разделены на категории, например цифры (DecimalDigitNumber),      римские цифры (LetterNumber), разделители строк (LineSeparator),               буквы в нижнем регистре (LowercaseLetter) и т.д.

IsControl

Возвращает true, если символ является управляющим.

IsDigit

Возвращает true, если символ является десятичной цифрой.

IsLetter

Возвращает true, если символ является буквой.

IsLetterOrDigit

Возвращает true, если символ является буквой или десятичной цифрой.

IsLower

Возвращает true, если символ задан в нижнем регистре.

IsNumber

Возвращает true, если символ является числом (десятичным или шестнадцатеричным).

IsPunctuation

Возвращает true, если символ является знаком препинания.

IsSeparator

Возвращает true, если символ является разделителем.

IsUpper

Возвращает true, если символ задан в верхнем регистре.

IsWhiteSpace

Возвращает true, если символ является пробельным (пробел, перевод строки, возврат каретки).

Parse

Преобразует строку в символ (строка должна состоять из одного символа).

ToLower

Преобразует символ в нижний регистр

ToUpper

Преобразует символ в верхний регистр

Массив символов  char []

В языке C#   массив char [] - обычный массив:

  • не имеет завершающего нуля,
  • его нельзя инициализировать строкой символов

char[ ] mch = { 'М', 'а', 'й', 'к', 'о', 'п' };

Преобразование строки в массив символов:

string hello = "Hello, World!";

char[ ] str = hello.ToCharArray();

 

Класс String

 

  1. В классе String   невозможно  изменить содержимое строки или ее длину.
  2. При каждом изменении строки создается новый объект, а прежний превращается в мусор.
  3. Для работы со строками изменяемой длины и содержания используется класс StringBuilder

 

string str;

string world = "Мир";

string str1 = new string(' ', 20);

Преобразование массива символов в строку:

char[ ] mch = { 'М', 'а', 'й', 'к', 'о', 'п' };

string str2 = new string(mch);

 

Для строк определены следующие операции:

• присваивание (=);

• проверка на равенство (==);

• проверка на неравенство ( ! = ) ;

• обращение по индексу ( [ ] ) ;

• сцепление (конкатенация) строк ( + ) .

 

Несмотря на то, что строки являются ссылочным типом данных, на равенство и неравенство проверяются не ссылки, а значения строк! Строки равны, если имеют одинаковое количество символов и совпадают посимвольно.

Методы класса String

 

Length

определяет длину строки

Split

Разделяет строку на элементы. Результаты помещаются в массив строк.

Equals

Возвращает true, если объекты имеют одну и ту же длину и состоят из одних и тех же символов

Compare

Сравнение двух строк в алфавитном порядке. Возвращает число: 0 – строки равны, больше 0  strA > strB  и меньше 0 strA < strB

EndsWith

Определяет, совпадает ли конец данного экземпляра строки с указанной строкой.

Contains

Возвращает значение, указывающее, равен ли данный экземпляр заданному объекту или значению типа String.

Replace

Возвращает новую строку, в которой все вхождения заданной строки заменены другой заданной строкой.

ToUpper()

Возвращает копию этой строки, переведенную в верхний регистр

Trim()

Удаляет все начальные и конечные знаки пробела из текущего объекта String.

Concat(String, String)

Сцепляет два указанных экземпляра String.

 

Пример. Имеется строка символов.

str = "В ногах нет правды. На вкус и цвет товарища нет. На нет и суда нет." +

"Нет дыму без огня. Нет худа без добра. Там хорошо, где нас нет.";

Определить:

  1. Общее кол-во символов
  2. Количество предложений
  3. Количество слов
  4. Подсчитать количество  слов «нет»
  5. Вывести все слова закаливающиеся символом «а»
  6. Проверить, имеется ли слово «дым» в тексте
  7. Выполнить замену в тексте слова “нет”  на  "не всегда нет"