Назад Вперед Зміст


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

Звернення до символу в рядку (лише для читання)

Усі символи рядка мають порядкові номери. Нумерація символів, як і елементів у масивах, починається з 0.

При зверненні до конкретного символу його номер вказується у квадратних дужках.

string st = "Hello, world!";
char c = st[0];   
Console.WriteLine(c);

Такий фрагмент програми виведе на екран H.

Рядок не можна змінювати. Тому такий фрагмент програми буде помилковим!!!

string st = "Hello, world!";
char c = 'h';   st[0] = c;
Console.WriteLine(st);

Такий фрагмент програми виведе повідомлення про те, що ця операція можлива лише для читання.

Додавання

До рядка можна додати символ. Наприклад, такий фрагмент програми виведе на екран: Hello, world!

string st = "Hello, world";
char c = '!';
st = st + c;
Console.WriteLine(st);

Можна додати два рядки. Наприклад, такий фрагмент програми теж виведе на екран: Hello, world!

string st1 = "Hello,";
string st2 = "world!";
string st = st1 + ' ' + st2;
Console.WriteLine(st);

Порівняння на рівність або нерівність

У класі String перевантажуються два наступні оператори: == та !=. Оператор == служить для перевірки двох рядків на рівність.

Коли оператор == застосовується до посилань на об'єкти, він зазвичай перевіряє, чи вказують обидва посилання на один і той самий об'єкт.

А коли оператор == застосовується до посилань на об'єкти типу String, то на предмет рівності порівнюється вміст самих рядків. Це ж стосується і оператора !=.

Коли він застосовується до посилань на об'єкти типу String, то на предмет нерівності порівнюється вміст самих рядків.

Порівняння на більше або менше

Інші оператори відношення, включаючи < та >=, порівнюють посилання на об'єкти типу String так само, як і на об'єкти інших типів.

А для того щоб перевірити, чи є один рядок більшим за інший, слід викликати статичний метод Compare.

Метод Compare(string st1, string st2).

Результат цього методу дорівнює 1, якщо st1 менше st2.

Результат цього методу дорівнює -1, якщо st1 більше st2.

Результат цього методу дорівнює 0, якщо st1 = st2.

string st1 = "ABC";
string st2 = "Ab";
int p = string.Compare(st1, st2);
if (p == 1) Console.WriteLine("st1 < st2");
if (p == -1) Console.WriteLine("st1 > st2");
if (p == 0) Console.WriteLine("st1 = st2");

Такий фрагмент програми виведе st1 < st2, оскільки перші символи двох рядків збігаються, а другий символ рядка st1 (це В), менший, ніж другий символ рядка st2 (це b). Порівняння виконується за першим незбіжним символом, незалежно від довжини рядків.


Назад Вперед Зміст