|
Программирование >> Обработка исключительных ситуаций
Пример применения методов приведен в листинге 6.8. Листинг 6.8. Работа со строками типа string jsing System: namespace ConsoleApplicationi class Classl { static void MainO string s = прекрасная королева Изольда : Console.WriteLineC s ); string sub = s.SubstringC 3 ).Remove( 12, 2 ); Console.WriteLineC sub ); string[ ] mas = s.SplitO ); string joined = string.Jom( ! , mas ); Console.WriteLineC joined ); Console.WriteLineC Введите строку ); string x = Console.ReadLineO; Console.WriteLineC Вы ввели строку + x ); 3 double a = 12.234; int b = 29; Console.WriteLineC a = {0,6;C} b = {1,2:X} , a, b ); II A Console.WriteLineC a = {0,6:0.#} a = {1,5:0.# руб. } a, b ); lib Результат работы программы: прекрасная королева Изольда красная корова Изольда рекрасная! королева! Изольда Введите строку че хочу! Вы ввели строку не хочу! ; = 12,23р. b = 10 В операторе 1 выполняются два последовательных вызова методов: метод Substring возвращает подстроку строки s, которая содержит символы исходной строки, начиная с третьего. Для этой подстроки вызывается метод Remove, удаляющий из нее два символа, начиная с 12-го. Результат работы метода присваивается переменнойsub. Аргументом метода Split (оператор 2) является разделитель, в данном случае - символ пробела. Метод разделяет строку на отдельные слова, которые заносятся в массив строк mas. Статический метод Join (он вызывается через имя класса) объединяет элементы массива mas в одну строку, вставляя между каждой парой слов строку ! . Оператор 3 напоминает вам о том, как вводить строки с клавиатуры. Форматирование строк В операторе 4 из листинга 6.8 неявно применяется метод Format, который заменяет все вхождения параметров в фигурных скобках значениями соответствующих переменных из списка вывода. После номера параметра можно задать минимальную ширину поля вывода, а также указать спецификатор формата, который определяет форму представления выводимого значения. В общем виде параметр задается следующим образом: {п [,т[:спецификатор формата]]} Здесь п - номер параметра. Параметры нумеруются с нуля, нулевой параметр заменяется значением первой переменной из списка вывода, первый параметр - второй переменной и т. д. Параметр m определяет минимальную ширину поля, которое отводится под выводимое значение. Если выводимому числу достаточно меньшего количества позиций, неиспользуемые позиции заполняются пробелами. Если числу требуется больше позиций, параметр игнорируется. Спецификатор формата, как явствует из его названия, определяет формат вывода значения. Например, спецификатор С (Currency) означает, что параметр должен форматироваться как валюта с учетом национальных особенностей представления, а спецификатор X (Hexadecimal) задает шестнадцатеричную форму представления выводимого значения. ПРИМЕЧАНИЕ- До настоящего момента мы пользовались сокращенной записью, задавая только номера параметров. Список спецификаторов формата приведен в приложении. В операторе 5 используются так называемые пользовательские шаблоны форматирования. Если приглядеться, в них нет ничего сложного: после двоеточия задается вид выводимого значения посимвольно, причем на месте каждого символа может стоять либо #, либо 0. Если указан знак #, на этом месте будет выведена цифра числа, если она не равна нулю. Если указан 0, будет выведена любая цифра, в том числе и 0. В табл. 6.4 приведены примеры шаблонов и результатов вывода. Таблица 6.4. Примеры применения пользовательских шаблонов форматирования Число Шаблон Вид 1,243 00.00 01,24 1,243 #.## 1,24 0,1 00.00 00,10 0,1 #.## ,1 Пользовательский шаблон может также содержать текст, который в общем случае заключается в апострофы. Строки типа StringBuilder Возможности, предоставляемые классом string, широки, однако требование неизменности его объектов может оказаться неудобным. В этом случае для работы со строками применяется класс StringBuilder, определенный в пространстве имен System.Text и позволяющий изменять значение своих экземпляров. При создании экземпляра обязательно использовать операцию new и конструктор, например: StringBuilder а = new StringBuilder( : StringBuilder b = new StringBuilder( qwerty ); StringBuilder с = new StringBuilder! 100 ); StringBuilder d = new StringBuilder! qwerty , 100 ).; 2 StringBuilder new StringBuilder! qwerty , 1, 3, 100 ); 5 В конструкторе класса указываются два вида параметров: инициализирующая строка или подстрока и объем памяти, отводимой под экземпляр (емкость буфера). Один или оба параметра могут отсутствовать, в этом случае используются их значения по умолчанию. Если применяется конструктор без параметров (оператор 1), создается пустая строка размера, заданного по умолчанию (16 байт). Другие виды конструкторов задают объем памяти, выделяемой строке, и/или ее начальное значение. Например, в операторе 5 объект инициализируется подстрокой длиной 3 символа, начиная с первого (подстрока wer ). Основные элементы класса StringBuilder приведены в табл. 6.5. Таблица 6.5. Основные элементы класса System.Text.StringBuilder
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |