Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основні методи






В класі StringBuilder методів значно менше, ніж у класі String. Це й зрозуміло - клас створювався з метою дати можливість змінювати значення рядка. Із цієї причини в класу є основні методи, що дозволяють виконувати такі операції над рядком як вставка, видалення й заміна підрядків, але немає методів, подібних до пошуку входження, які можна виконувати над звичайними рядками. Технологія роботи звичайно така: конструюється рядок класу StringBuilder; виконуються операції, що вимагають зміну значення; отриманий рядок перетвориться в рядок класу String; над цим рядком виконуються операції, що не вимагають зміни значення рядка. Давайте більш докладно розглянемо основні методи класу StringBuilder:

· public StringBuilder Append (< об'єкт>). До рядка, що викликав метод, приєднується рядок, отриманий з об'єкта, що переданий методу як параметр. Метод перевантажений і може приймати на вході об'єкти всіх простих типів, починаючи від char й bool до string й long. Оскільки об'єкти всіх цих типів мають метод ToString, завжди є можливість перетворити об'єкт у рядок, що і приєднується до вихідного рядка. Як результат повертається посилання на об'єкт, що викликав метод.

· public StringBuilder Insert (int location, < об'єкт>). Метод вставляє рядок, отриманий з об'єкта, у позицію, зазначену параметром location. Метод Append є часткою методу Insert;

· public StringBuilder Remove (int start, int len). Метод видаляє підрядок довжини len, що починається з позиції start;

· public StringBuilder Replace (string str1, string str2). Всі входження підрядка str1 заміняється на рядок str2;

· public StringBuilder AppendFormat (< рядок форматів>, < об'єкти>). Метод є комбінацією методу Format класу String і методу Append. Рядок форматів, переданий методу, містить тільки специфікації форматів. Відповідно до цих специфікацій перебувають і форматуються об'єкти. Отримані в результаті форматування рядки приєднуються в кінець вихідного рядка.

За винятком методу Remove, всі розглянуті методи є перевантаженими. У їхньому описі дана схема виклику методу, а не точний синтаксис перевантажених реалізацій. Приведу приклади, щоб продемонструвати, як викликаються і як працюють ці методи:

//Методи Insert, Append, AppendFormatStringBuilder strbuild = new StringBuilder(); string str = " це це не "; strbuild.Append(str); strbuild.Append(true); strbuild.Insert(4, false); strbuild.Insert(0, " 2*2=5 - "); Console.WriteLine(strbuild); string txt = " А це пшениця, що у темному прикомірку зберігається, " +" у будинку, що побудував Джек! "; StringBuilder txtbuild = new StringBuilder(); int num =1; foreach(string sub in txt.Split(', ')){ txtbuild.AppendFormat(" {0}: {1} ", num++, sub); }str = txtbuild.ToString(); Console.WriteLine(str);

У цьому фрагменті коду конструюються два рядки. Перша з них створюється з рядків і булевих значень true й false. Для конструювання використовуються методи Insert й Append. Другий рядок конструюється в циклі із застосуванням методу AppendFormat. Результатом цього конструювання є рядок, у якому прості пропозиції вихідного тексту пронумеровані.

Зверніть увагу, що сконструйований другий рядок передається у звичайний рядок класу String. Ніяких проблем перетворення рядків одного класу в інший клас не виникає, оскільки всі об'єкти, у тому числі, об'єкти класу StringBuilder, володіють по визначенню методом ToString.

Зверніть увагу, як виглядають результати роботи.


Рис. 16.1. Операції й методи класу StringBuilder






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.