русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Рядки типу StringBuilder


Дата додавання: 2015-01-08; переглядів: 1039.


 

Можливості, що надаються класом string, широкі, проте вимога незмінності його об'єктів може виявитися незручною. В цьому випадку для роботи з рядками застосовується клас StringBuilder, визначений в просторі імен System.Text і що дозволяє змінювати значення своїх екземплярів.

При створенні екземпляра необхідно використовувати операцію new і конструктор, наприклад:

StringBuilder а=new StringBuilder(); // 1

StringBuilder b=new StringBuilder("qwerty"); // 2

StringBuilder с=new StringBuilder(100); // 3

StringBuilder d=new StringBuilder("qwerty", 100); // 4

StringBuilder e=new StringBuilder("qwerty",1, 3, 100); // 5

У конструкторі класу указуються два види параметрів: рядок, що ініціалізував, або підрядок і об'єм пам'яті, що відводиться під екземпляр (ємність буфера). Один або обидва параметри можуть бути відсутніми, в цьому випадку використовуються їх значення за умовчанням.

Якщо застосовується конструктор без параметрів (оператор 1), створюється порожній рядок розміру, заданого за умовчанням (16 байт). Інші види конструкторів задають об'єм пам'яті, рядку, що виділяється, і/або її початкове значення. Наприклад, в операторі 5 об'єкт ініціалізувався підрядком завдовжки 3 символи, починаючи з першого (підрядок "wer"). Основні елементи класу StringBuilder приведені в таблиці 6.6.

Таблиця 6.6

Основні елементи класу System.Text.StringBuilder

 

Назва Вид Опис
Append Метод Додавання в кінець рядка. Різні варіанти методу дозволяють додавати в рядок величини будь-яких вбудованих типів, масиви символів, рядка і підрядка типу string
AppendFormat Метод Додавання форматованого рядка в кінець рядка
Capacity Властивість Отримання або установка ємності буфера. Якщо встановлюване значення менше поточної довжини рядка або більше максимального, генерується виключення ArgumentOutOfRangeException
Insert Метод Вставка підрядка в задану позицію
Length Властивість Довжина рядка (кількість символів)
MaxCapacity Властивість Максимальний розмір буфера
Remove Метод Видалення підрядка із заданої позиції
Replace Метод Заміна всіх входжень заданого підрядка або символу новим підрядком або символом
ToString Метод Перетворення в рядок типу string

 

Приклад застосування методів приведений в лістингу 6.12.

 

Лістинг 6.12. Робота з рядками типу StringBuilder

using System;

using System.Text;

namespace ConsoleApplication1

{

class examp38

{

static void Main()

{

Console.Write("Введіть зарплату: ");

double salary = double.Parse(Console.ReadLine());

StringBuilder a = new StringBuilder();

a.Append("зарплата ");

a.AppendFormat("{0,6:C} - в рік {1,6:C}", salary, salary * 12);

Console.WriteLine(a);

a.Replace("р.","тис.$");

 

Console.WriteLine("А краще було б: " + a);

}

}

}

Результат роботи програми:

Введіть зарплату: 3500

зарплата 3 500.00р. - в рік 42 000,00р.

А краще було б: зарплата 3 500,00тис.$ - в рік 42 000.00тис.$

 

Ємність буфера не відповідає кількості символів в рядку і може збільшуватися в процесі роботи програми як в результаті прямих вказівок програміста, так і унаслідок виконання методів зміни рядка, якщо рядок в результаті перевищує поточний розмір буфера. Програміст може зменшити розмір буфера за допомогою властивості Capacity, щоб не позичати зайву пам'ять.

 


<== попередня лекція | наступна лекція ==>
Форматування рядків | Перевантаження методів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн