Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MetodichkaC_14ch1.doc
Скачиваний:
51
Добавлен:
26.03.2016
Размер:
1.61 Mб
Скачать
    1. Строки типа string

Тип string, предназначенный для работы со строками символов в кодировке Unicode, является встроенным типом С#. Ему соответствует базовый класс System.String библиотеки .NET. Создать строку можно несколькими способами:

string s; // инициализация отложена

string t = "qqq"; // инициализация строковым литералом

string u = new string(‘ ‘ ,20); // конструктор создает строку из 20 пробелов

char[] а = { '0','0', '0' }; // массив для инициализации строки

string v= new string( а ); // создание строки из массива символов

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

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

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

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

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

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

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

Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения. В классе System.String предусмотрено множество методов, полей и свойств, позволяющих выполнять со строками практически любые действия. Основные элементы класса приведены в таблице 9.2.

Таблица 9.2

Основные элементы класса System.String

Имя элемента

Вид

Описание

Length

Свойство

Длина строки (количество символов)

Empty

Статическое поле

Возвращается пустая строка. Свойство со статусом readonly

Compare()

Статический метод

Сравнение двух строк. Реализации метода позволяют сравнивать как строки, так и подстроки. При этом можно учитывать регистр, особенности форматирования дат, чисел и т.д.

CompareOrdinal()

Статический метод

Сравнение двух строк. Реализации метода позволяют сравнивать как строки, так и подстроки. Сравниваются коды символов

Concat()

Статический метод

Конкатенация строк, метод допускает сцепление произвольного числа строк

Copy()

Статический метод

Создается копия строки

Format()

Статический метод

Выполняет форматирование строки в соответствии с заданными спецификациями формата

Join()

Статический метод

Конкатенация массива строк в единую строку. При конкатенации между элементами массива вставляются разделители

Insert()

Метод

Вставляет подстроку в заданную позицию

Remove()

Метод

Удаляет подстроку в заданной позиции

Replace()

Метод

Заменяет подстроку в заданной позиции на новую подстроку

Substring()

Метод

Выделяет подстроку в заданной позиции

IndexOf(),

IndexOfAny(),

LastIndexOf(),

LastIndexOfAny()

Методы

Определяются индексы первого и последнего вхождения заданной подстроки или любого символа из заданного набора

StartsWith(),

EndsWith()

Методы

Возвращается true или false, в зависимости от того, начинается или заканчивается строка заданной подстрокой

PadLeft(),

PadRight()

Методы

Выполняет набивку нужным числом пробелов в начале и в конце строки

Trim(),

TrimStart(),

TrimEnd()

Методы

Удаляются пробелы в начале и в конце строки, или только с одного ее конца

ToCharArray()

Метод

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

Примеры использования основных элементов класса System.String:

String s="aaa";

int k=s.Length; // Возвращает длину строки. В k запишется 3

String s1="abcdefg", s2;

s2=s1.Substring(3, 2); // Поволяет извлечь из строки подстроку.

Console.WriteLine(s2); //Напечатается "de"

String s1="abcdefg", s2;

s2=s1.Insert(1, "xyz"); // Вставляет в строку другую строку.

Console.WriteLine(s2); //Напечатается "axyzbcdefg"

Первый параметр тут - это куда вставляем (нумерация, как всегда, с нуля), второй - что за строчку вставляем.

String s1="abcabcab", s2="bc", s3="zzz";

Console.WriteLine(s1.IndexOf(s2));//Позволяет найти в строке подстроку. Напечатается 1

Console.WriteLine(s1.IndexOf(s3)); //Напечатается -1

Этот метод возвращает номер позиции, на котором в строке находится передаваемая в качестве параметра подстрока. Если такой построки нет, то возвращается -1.

String s1="abcabcab", s2="bc", s3;

s3=s1.Replace(s2, "q"); // Производит замену в строке.

Console.WriteLine(s3); //Напечатается aqaqab

String s1="aRbRur";

s1=s1.ToLower();//переводят строку в нижний регистр

s1=s1.ToUpper();//переводят строку в верхний регистр

String s1=" ar brur ";

Console.Write(s1.Trim());//удаляет пробельные символы в начале и в конце строки.

В следующем примере строка разбивается на отдельные слова, затем производится обратная сборка текста:

string txt = "Все переменные, "

+ "используемые в программе, "

+ "должны быть описаны явным образом.";

Console.WriteLine(txt);

string[] Simpls, Words;

// делим сложное предложение на простые

Simpls = txt.Split(',');

for(int i = 0;i < Simpls.Length; i++)

Console.WriteLine(Simpls[i]);

// собираем сложное предложение

string txtjoin = string.Join(",",Simpls);

// делим сложное предложение на слова

Words = txt.Split(',', ' ');

for(int i = 0;i < Words.Length; i++)

Console.WriteLine("Words[{0}]= {1}",i, Words[i]);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]