Навігація
Головна
 
Головна arrow Інформатика arrow Об'єктно-орієнтоване програмування
< Попередня   ЗМІСТ   Наступна >

КЛАС РЯДКІВ STRING

Основним типом при роботі з рядками в C # є тип string, що задає рядки змінної довжини. Над рядками - об'єктами цього класу - визначено широкий набір операцій, що відповідає сучасному уявленню про те, як повинен бути влаштований строковий тип.

Оголошення рядків і конструктори класу string

Об'єкти класу String оголошуються, як всі інші об'єкти простих типів з явною або відкладеної инициализацией, з явним або неявним викликом конструктора класу. Найчастіше при оголошенні строкової змінної конструктор явно не викликається, а ініціалізація задається строкової константою. Але у класу String досить багато конструкторів. Вони дозволяють побудувати рядок за допомогою:

  • • символу, повтореного заданий число раз;
  • • масиву символів char [];
  • • частини масиву символів.

Операції над рядками

Над рядками визначені наступні операції:

  • • присвоювання (=);
  • • перевірка еквівалентності (==) і (! =);
  • • конкатенація, або зчеплення рядків (+);
  • • отримання символу за індексом ([]).

Оскільки string - це контрольний тип, то в результаті привласнення створюється посилання на константну рядок, збережену в купі. З однієї і тієї ж строкової константою в купі може бути пов'язано кілька змінних строкового типу. Але ці змінні не є псевдонімами - різними іменами одного і того ж об'єкта. Справа в тому, що рядкові константи в купі не змінюються, тому коли одна з змінних отримує нове значення, вона зв'язується з новим сталою об'єктом в купі. Решта змінні зберігають свої зв'язки. Для програміста це означає, що семантика привласнення рядків аналогічна семантиці значущого присвоювання.

На відміну від інших довідкових типів операції, перевіряючі еквівалентність, порівнюють значення рядків, а не посилання. Ці операції виконуються, як над значущими типами.

Бінарна операція "+" зв'язує два рядки, приписуючи другий рядок до кінця першої.

Можливість взяття індексу при роботі з рядками дає можливість працювати з рядком, як з масивом і отримувати за індексом кожен її символ. Символи рядка мають тип char і доступні тільки для читання, але не для запису. Нижче показаний приклад, в якому над рядками виконуються такі операції:

public void TestOpers () {// операції над рядками

string s1 = "АВС", s2 = "CDE";

string s3 = s1 + s2;

bool b1 = (s1 == s2);

char ch1 = s1 [0], ch2 = s2 [0];

Console.WriteLine ( "s1 = {0}, s2 = {1}, b1 = {2}," + "ch1 = {3}, ch2 = {4}", s1, s2, b1, ch1, ch2);

s2 = s1;

S = (s1! = S2); ch2 = s2 [0];

Console.WriteLine ( "s1 = {0}, s2 = {1}, b1 = {2}," + "ch1 = {3}, ch2 = {4}", s1, s2, b1, ch1, ch2);

// Незмінні значення

s1 = "Zenon";

// s1 [0] = 'L';

}

Таблиця 7.4

Основні статичні методи класу String

метод

опис

Compare

порівняння двох рядків; можна порівнювати як рядки, так і підрядка; можна враховувати або не враховувати регістр і т. п.

CompareOrdinal

порівняння двох рядків; порівнюються коди символів

Concat

конкатенація рядків; метод перевантажений, допускає зчеплення довільного числа рядків

Copy

створення копії рядка

Format

виконання форматування, відповідно до заданих специфікацій формату , аналогічно методу Console.Write () з форматом

Join

з'єднання масиву рядків в єдину рядок; при конкатенації між елементами масиву вставляються роздільники

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук