На этом шаге мы рассмотрим другие полезные методы.
Есть и другие полезные методы, предназначенные для работы с текстом. Скажем, с помощью метода ToUpper() на основе текстового объекта, из которого вызывается метод, формируется текстовая строка, состоящая из прописных (больших) букв исходного текста. Метод ToLower() возвращает строку, состоящую из строчных (маленьких) букв исходного текста. Можно сказать и проще: метод ToUpper() делает все буквы большими, а метод ToLower() делает все буквы маленькими. Нужно только помнить, что исходные текстовые объекты (из которых вызываются методы) не меняются, а речь идет о возвращаемом методами тексте.
Метод ToCharArray() результатом возвращает ссылку на символьный массив (тип char[]) из букв исходного текста (текстового объекта, из которого вызывается метод). Метод полезен в случаях, когда текстовое значение нужно разбить на отдельные символы. Похожая задача решается с помощью метода Split(). Метод результатом возвращает текстовый массив (тип string[]), элементами которого являются подстроки из исходного текста. Текстовый объект, из которого вызывается метод, разбивается на подстроки, причем символы, которые являются разделителями для определения мест разбивки исходного текста, передаются аргументами методу. Количество таких символьных аргументов произвольно. Если первым аргументом методу передать символьный массив (элементы которого играют роль разделителей при разбивке строки), а вторым аргументом указать целое число, то оно будет определять максимальное количество подстрок, на которые разбивается исходная текстовая строка. Если методу Split() аргументы не переданы, то по умолчанию разделителем считается пробел. Пример использования методов ToUpper(), ToLower(), ToCharArray() и Split() представлен в примере ниже.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace pr100_1 { class Program { static void Main() { // Исходная текстовая строка: String txt = "Дорогу осилит идущий"; // Отображение исходного текста: Console.WriteLine(txt); // Текстовая строка: String str; // Текст с символами в верхнем регистре: str = txt.ToUpper(); // Проверка текстового значения: Console.WriteLine(str); // Текст с символами в нижнем регистре: str = txt.ToLower(); // Проверка текстового значения: Console.WriteLine(str); // Переменная для текстового массива: String[] words; // Разбивка текста на подстроки: words = txt.Split(); // Отображение подстрок: for(int k = 0; k < words.Length; k++) { Console.WriteLine((k + 1) + ": " + words[k]); } Console.WriteLine(); // Разбивка текста на подстроки: words = txt.Split('у', 'и'); // Отображение подстрок: for (int k = 0; k < words.Length; k++) { Console.WriteLine((k + 1) + ": " + words[k]); } Console.WriteLine(); // Разбивка текста на подстроки: words = txt.Split(new char[]{'у', 'и'}, 3); // Отображение подстрок: for (int k = 0; k < words.Length; k++) { Console.WriteLine((k + 1) + ": " + words[k]); } // Переменная для символьного массива: char[] symbs; // Массив из символов, формирующих текст: symbs = txt.ToCharArray(); // Отображение символов из массива: for(int k = 0; k < symbs.Length; k++) { Console.Write(symbs[k] + " "); } Console.WriteLine(); // Задержка: Console.ReadLine(); } } }
Результат выполнения программы такой.
Рис.1. Разбиение строк и регистр символов
В программе для выполнения операций с текстом объявляется текстовая переменная txt со значением "Дорогу осилит идущий". Данное текстовое значение отображается в консольном окне. Мы используем еще одну текстовую переменную str, значение которой присваивается командой
str = txt.ToUpper(); .
str=txt.ToLower();
Затем в программе объявляется переменная words для текстового одномерного массива. При выполнении команды
words = txt.Split();
words = txt.Split('у', 'и'); .
При выполнении команды
words = txt.Split(new char[]{'у', 'и'}, 3);
В программе объявляется переменная символьного массива symbs. Командой
symbs = txt.ToCharArray();
На следующем шаге мы рассмотрим метод ToString().