Операции над стрками

Строки переменной длины.

Строки постоянной длины.

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

Для представления символов используется тип char, который реализуется на основе класса Char.

Основные методы класса char.

Char.IsDigit() - является ли литера цифрой.

Char.IsLetter() - является ли литера буквой.

Char.isLetterOrDigit()- является ли цифрой или буквой

Char.IsWhiteSpace() - является ли пробелом

Char.ToLower() - преобразует в нижний регистр

Char.ToUpper() - преобразует в верхний регистр.

Отличае в том, что функции поддерживают символы Unicode.

В качестве символьных констант может использоваться символ @

Для таких строк эффективно реализиуется следущие операции:

1) Определение вхождение одной строки в другую.

2) Выделение подстрок.

3) Замена симвовлов строки.

Для представления строк постоянной длины используется массив. Массив не преспособен к изменению размеров. И поэтому для него трудно организовать операции вставки и удаления. В C# строки постоянной длины реализуются с помощью массива класса Char – Char[]. Это обычный массив, поэтому строка не завершается нуль-литерой. Более того массив нельзя инициализировать строковой константой Char[] m = “mbc” - ошибка на стадии компиляции.

Реализуются с помощью класса String. Объекты класса Sting, будучи созданны не могут быть в дальнешем изменены. Такие методы класса, как Insert, Replace возращают новый объект, содержащий измененый текст. Элементами класса String являются символы юникода, однако в C# неопределено преобразование между классами String и массивом символов Char. В то же время, у класса String есть метод String.ToCharArray(), который позволяет сделать такое преобразование. Обратная операция неорпделена, поскольку мето ToString класса Char[] выдает информацию о типе класса. В то-же время такое преобразовани е можно организовать вручную.

String tostring(char[]ar)

{

string result = "";

for(int i=0;i<ar.Lengthl;i++)

result += ar[i];

return result;

}

1) Операция присваивания. Хотя String имеет ссылочный тип, симантика присваивания для строк имеет семантику значимого присваивания.

2) Операция сравнения на равенство =/!=. Они перегружены и сравнивают не ссылки, а сами значения строк.

3) Бинарная операция +. Сцепляет строки.

4) Операция досутпа по индексу []. Позволяет получить объект типа Char, который досутпен только для чтения.

Статические методы класса String.

Empty() - возвращает пустую строку. При сравнении надо сравнивать с Empty(), а не с пустой строкой.

Compare() - производит сравнение с учетом регистра и национальных особенностей.

CompareOriginal() - производит сравнение по коду символов.

Copy() - создает копию строки.

Format() - форматирует строку в соответствии с приведенными спецификаторами формата. Они отличаются от аналогичных в C++.

Динамические методы класса String.

Insert — вставка подстроки.

Remove- удаляет подстроку.

Replace – заменяет подстроку.

Substring – выделяет подстроку.

IndexOf — получение индекса первого вхождения подстроки.

LastIndexOf — получения индекса последенего вхождения подстроки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: