Несмотря на то, что строки являются ссылочным типом данных, на равенство и неравенство проверяются не ссылки, а значения строк.
Строки равны, если имеют одинаковое количество символов и совпадают посимвольно. Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения.
В классе System.String предусмотрено множество методов, полей и свойств, позволяющих выполнять со строками практически любые действия. Основные элементы класса приведены в таблице 8.2.
Таблица 8.2 – Основные элементы класса System.String
Метод
Описание
Compare
Сравнение двух строк в лексикографическом (алфавитном) порядке. Разные реализации метода позволяют сравнивать строки и подстроки с учетом и без учета регистра и особенностей национального представления дат
CompareOrdinal
Сравнение двух строк по кодам символов. Разные реализации метода позволяют сравнивать строки и подстроки
CompareTo
Сравнение текущего экземпляра строки с другой строкой
Concat
Конкатенация (соединение) строк. Метод допускает сцепление произвольного числа строк
Copy
Создание копии строки
Empty
Пустая строка (только для чтения)
Format
Форматирование в соответствии с заданными спецификаторами формата
IndexOf,IndexOfAny, LastIndexOf, LastIndexOfAny
Определение индексов первого и последнего вхождения заданной подстроки или любого символа из заданного набора
Insert
Вставка подстроки в заданную позицию
Intern, IsInterned
Возвращает ссылку на строку, если такая уже существует. Если строки нет, Intern добавляет строку во внутренний пул, Islntern возвращает nul1
Join
Слияние массива строк в единую строку. Между элементами массива вставляются разделители
Length
Длина строки (количество символов)
PadLeft,PadRight
Выравнивание строки по левому или правому краю путем вставки нужного числа пробелов в начале или в конце строки
Remove
Удаление подстроки из заданной позиции
Продолжение таблицы 8.2
Метод
Описание
Replace
Замена всех вхождений заданной подстроки или символа новыми подстрокой или символом
Split
Разделяет строку на элементы, используя заданные разделители. Результаты помещаются в массив строк
StartWith, EndWith
Возвращает true или false в зависимости от того, начинается или заканчивается строка заданной подстрокой
Substring
Выделение подстроки, начиная с заданной позиции
ToCharArray
Преобразование строки в массив символов
ToLower,ToUpper
Преобразование символов строки к нижнему или верхнему регистру
Trim,TrimStart,TrimEnd
Удаление пробелов в начале и конце строки или только с одного ее конца (обратные по отношению к методам PadLeft и PadRlght действия)
Пример обработки строк типа string
using System;
namespace ConsoleApplicationl
{ class Classl
{ static void Main()
{
string s = "прекрасная королева Изольда";
Console.WriteLine( s );
string sub = s.Substring( 3 ).Remove( 12, 2 );
Console.WriteLine( sub );
string[] mas = s.Split(' ');
string joined = string.Join( "! ", mas );
Console.WriteLine( joined );
Console.WriteLine( "Введите строку" );
string x = Console.ReadLine();
Console.WriteLine( "Вы ввели строку " + x );
double a = 12.234;
int b = 29;
Console.WriteLine( " a = {0,6:C} b = {1,2:X}", a, b ); //неявный вызов метода Format
Console.WriteLine( " a = {0,6:0.##} b = {1,5:0.# ' руб. '}",a, b );//пользовательский шаблон
Console.WriteLine("a = {0:F3} b = {1:D3}", a, b); //задание ширины дробной части