- •Общая часть
- •Работа с файлами
- •Работа со строками в c#
- •1.5 Работа с WebBrowser в c# Работаем с WebBrowser в Windows Forms приложениях
- •Создание html Editor
- •Расширяем функционал html Editor
- •Специальная часть
- •2.1.3Скрин
- •2.2.2Листинг
- •2.2.3Скрин
- •2.3.1Постановка задачи
- •2.3.2Листинг
- •2.3.3Скрин
- •2.4.1Постановка задачи
- •2.4.2Листинг
- •2.4.3Скрин
Работа со строками в 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(); }
