Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчте .doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
837 Кб
Скачать
☆
    1. Работа со строками в c#

Строки в Си-шарп - это объекты класса String, значением которых является текст. Для работы со строками в этом классе определено множество методов (функций) и в этом уроке мы рассмотрим некоторые из них. Чтобы использовать строку, ее нужно сначала создать – присвоить какое-либо значение, иначе мы получим ошибку: "Использование локальной переменной "[имя переменной]", которой не присвоено значение". Объявим простую строку и выведем ее на экран:

static void Main(string[] args) {    string s = "Hello, World!";    Console.WriteLine(s); }

static void Main(string[] args) {    string s;    Console.WriteLine(s); // ошибка, строка не создана }

Для объединения (конкатенации) строк используется оператор "+". string s = "Hello," + " World!"; Оператор "[]" используется для доступа (только чтение) к символу строки по индексу: string s = "Hello, World!";  char c = s[1]; // 'e' Свойство Length возвращает длину строки. Спецсимволы Символ "\" является служебным, поэтому, чтобы использовать символ обратного слэша необходимо указывать его дважды "\\". Символ табуляции – "\t" Символ перевода строки – "\r\n" Двойные кавычки – "\"" Методы (функции) класса String для работы со строками в Си-шарп Как проверить, пуста ли строка? Метод IsNullOrEmpty() возвращает True, если значение строки равно null, либо когда она пуста (значение равно ""):

static void Main(string[] args) {    string s1 = null, s2 = "", s3 = "Hello";    String.IsNullOrEmpty(s1); // True    String.IsNullOrEmpty(s2); // True    String.IsNullOrEmpty(s3); // False  }

Метод IsNullOrWhiteSpace() работает как и метод IsNullOrEmpty(), только возвращает True еще и тогда, когда строка представляет собой набор символов пробела и/или табуляции ("\t"):

static void Main(string[] args) {    string s1 = null, s2 = "\t", s3 = " ", s4 = "Hello";    String.IsNullOrWhiteSpace(s1); // True    String.IsNullOrWhiteSpace(s2); // True    String.IsNullOrWhiteSpace(s3); // True     String.IsNullOrWhiteSpace(s4); // False  }

Как проверить, является ли одна строка "больше" другой? Для сравнивания строк используется метод Compare(). Суть сравнения строк состоит в том, что проверяется их отношение относительно алфавита. Строка "a" "меньше" строки "b", "bb" "больше" строки "ba". Если обе строки равны - метод возвращает "0", если первая строка меньше второй – "-1", если первая больше второй – "1":

static void Main(string[] args) {    String.Compare("a", "b"); // возвращает -1    String.Compare("a", "a"); // возвращает 0    String.Compare("b", "a"); // возвращает 1    String.Compare("ab", "abc"); // возвращает -1    String.Compare("Romania", "Russia"); // возвращает -1    String.Compare("Rwanda", "Russia"); // возвращает 1    String.Compare("Rwanda", "Romania"); // возвращает 1  }

Чтобы игнорировать регистр букв, в метод нужно передать, как третий аргумент true.  String.Compare("ab", "Ab"); // возвращает -1 String.Compare("ab", "Ab", true); // возвращает 0 Как перевести всю строку в верхний/нижний регистр? Для этого используются методы ToUpper() и ToLower():

static void Main(string[] args) {    string s = "Hello, World";    Console.WriteLine(s.ToUpper()); // выводит "HELLO, WORLD"    Console.WriteLine(s.ToLower()); // выводит "hello, world"    Console.ReadLine(); }

Как проверить, содержит ли строка подстроку? Для проверки содержания подстроки строкой используется метод Contains(). Данный метод принимает один аргумент – подстроку. Возвращает True, если строка содержит подстроку, в противном случае – False. Пример:

static void Main(string[] args) {    string s = "Hello, World";    if (s.Contains("Hello"))      Console.WriteLine("Содержит");     Console.ReadLine(); }

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