Мова C# 8
Над рядками визначено такі операції:
- дві операції перевірки еквівалентності (==) та (!=);
- конкатенація чи зчеплення рядків (+);
На відміну від інших типів посилань операції, що перевіряють еквівалентність, порівнюють значення рядків, а не посилання. Ці операції виконуються як над значними типами.
Бінарна операція «+» зчеплює два рядки, приписуючи другий рядок до першого хвоста.
Можливість взяття індексу при роботі з рядками відображає той приємний факт, що рядок можна розглядати як масив і отримувати легко кожен його символ. Кожен символ рядка має типchar,доступний лише читання, але з записи.
Ось приклад, у якому над рядками виконуються дані операції:
Статичні методи класуString
Зведення статичних методів класуStringнаводиться у таблиці 6.
Таблиця 6. Статичні методи класу String
Повертається порожній рядок. Властивість зі статусом read only
Порівняння двох рядків. Метод перевантажений. Реалізації методу дозволяють порівнювати як рядки, і підрядки. У цьому можна враховувати чи враховувати регістр, особливості національного форматування дат, чисел тощо.
Порівняння двох рядків. Метод перевантажений. Реалізації методу дозволяють порівнювати як рядки, і підрядки. Порівнюються коди символів
Конкатенація рядків. Метод перевантажений, допускає зчеплення довільного числа рядків
Створюється копія рядка
Виконує форматування відповідно до заданих специфікацій формату. Нижче наведено більш повний опис методу
Конкатенація масиву рядків у єдиний рядок. Під час конкатенації між елементами масиву вставляються роздільники. Операція, задана методом Join, є зворотною дооперації, заданої методом Split. Останній є динамічним методом і, використовуючи роздільники, здійснює поділ рядка на елементи
МетодиJoinтаSplitвиконують над рядком тексту взаємно зворотні перетворення. Динамічний методSplitдозволяє здійснити аналіз тексту на елементи. Статичний методJoinвиконує зворотну операцію, збираючи рядок елементів.
Заданий рядком текст найчастіше є сукупністю структурованих елементів - абзаців, речень, слів, скобкових виразів тощо. При роботі з таким текстом необхідно розділити його на елементи, користуючись спеціальними роздільниками елементів, - це можуть бути пробіли, дужки, розділові знаки. Практично подібні завдання виникають постійно під час роботи зі структурованими текстами. Методи Split та Join полегшують вирішення цих завдань.
Динамічний методSplit,як завжди, перевантажений. Найчастіше використовувана реалізація має наступний синтаксис:
На вхід методуSplitпередається один або кілька символів, які інтерпретуються як роздільники. Об'єктstring,метод, що викликав, поділяється на підрядки, обмежені цими роздільниками. З цих підрядів створюється масив, що повертається як результат методу. Інша реалізація дозволяє обмежити кількість елементів масива, що повертається.
Синтаксис статичного методу Join такий:
public static string Join(string delimiters, string[]items)
Як результат метод повертає рядок, отриманий конкатенацією елементів масивуitems,між якими вставляється рядок роздільниківdelimiters.Як правило, рядокdelimitersскладається з одного символу, який і поділяє в результуючому рядкуелементи масивуitems;але в окремих випадках обмежувачем може бути рядок з кількох символів.
Розглянемо приклади застосування цих методів. У першому з них рядок представляє складнопідрядне речення, яке розбивається на прості пропозиції. У другому речення поділяється на слова. Потім здійснюється зворотне складання розібраного тексту. Ось код відповідної процедури: