Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 6. Строковий тип String.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
157 Кб
Скачать
☆

6.3. Перевірка рядка на пустоту

Існує декілька способів перевірити рядок на пустоту:

if (myString == "") // порожній рядок;

if (myString == String.Empty) // порожній рядок;

if (myString.Length ==0) // рядок з нульовою довжиною – працює найшвидше;

if (String.Equals(myString, String.Empty)).

Також є метод isNullEmpty,

який дозволяє швидко і просто перевірити рядок – порожій він чи має значення null.

Приклад 6.7.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

string name = "name";

if ( string.IsNullOrEmpty(name))

throw new ArgumentNullException("name");

Console.WriteLine(string.Concat("Hello, ", name));

Console.ReadKey();

}

}

}

Приклад 6.8. Перевірка входження підрядка у рядок

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

string name = "name";

string str1 = "my name";

if ( string.IsNullOrEmpty(name))

throw new ArgumentNullException("name");

Console.WriteLine(string.Concat("Hello, ", name));

int i = str1.IndexOf(name); // пошук підрядка

Console.WriteLine("номер підрядка, "+ i);

Console.ReadKey();

}

}

}

6.4. Клас StringBuilder і його методи

Іноді слід уникати ситуацій, коли в результаті виконання операції створюється новий рядок, оскільки це пов'язано з додатковими витратами пам'яті та інших ресурсів комп'ютера при виконанні операції.

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

Основною операцією, яка найчастіше використовується класом StringBuilder, є операція додавання до рядка вмісту. Для цього існує метод Append. Наступний код додає один рядок до іншого і виводить результат на консоль. При цьому змінюється оригінал рядка, копія не створюється:

StringBuilder sb = new StringBuilder("Наступного тижня у нас кредит");

sb.Append(", потрібно захистити лаб.роботи");

Сonsole.Write(sb);

Окрім додавання клас StringBuilder містить інші методи, найбільш значимі з яких наведені нижче. Після того, як усі необхідні дії, пов'язані з обробкою рядка, були виконані, необхідно викликати метод ToString() для перетворення вмісту об'єкту в звичайний тип даних string.

Таблиця 6.3. Деякі методи класу StringBuilder

Append()

Додавання заданого рядка в кінець рядка об'єкту.

AppendFormat()

Додавання заданого форматованого рядка (рядка, що містить управляючі символи) в кінець рядка об'єкту.

CopyTo()

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

Insert()

Додавання рядка в задану позицію рядка об'єкту.

Remove()

Видалення заданої кількості символів з рядка об'єкту

Replace()

Заміна заданого символу або рядка об'єкту на інший заданий символ або рядок.

При інтенсивній роботі з рядками рекомендується використовувати клас StringBuilder, оскільки це дозволяє зменшити накладні витрати, пов'язані із створенням копії рядка при виконанні кожної операції.