русс | укр

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

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


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


Рядки типу string


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


Тип string, призначений для роботи з рядками символів в кодуванні Unicode, є вбудованим типом С#. Йому відповідає базовий клас System.String бібліотеки .NET.

Створити рядок можна декількома способами:

string s; // ініціалізація відкладена

string t = "qqq"; // ініціалізація рядковим літералом

string u = new string(‘ ’,20); // конструктор створює рядок з 20 пропусків

char[] а = {'0','0','0'}; // масив для ініціалізації рядка

string v = new string( а ); // створення з масиву символів

 

 

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

привласнення ( = );

перевірка на рівність ( = = );

перевірка на нерівність (! = ) ;

звернення по індексу ([]) ;

зчеплення(конкатенація) рядків ( + ).

 

Не дивлячись на те що рядки є посилальним типом даних, на рівність і нерівність перевіряються не посилання, а значення рядків. Рядки рівні, якщо мають однакову кількість символів і збігаються по символам.

Звертатися до окремого елементу рядка по індексу можна тільки для набуття значення, але не для його зміни. Це пов'язано з тим, що рядки типу string відносяться до так званих незмінних типів даних. Методи, що змінюють вміст рядка, насправді створюють нову копію рядка. Невживані “старі” копії автоматично видаляються складальником сміття.

У класі System.String передбачено використання методів, полів і властивостей, що дозволяють виконувати з рядками практично будь-які дії. Основні елементи класу приведені в таблиці 6.4.

 

Таблиця 6.4.

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

 

Назва Вигляд Опис
Compare Статичний метод Порівняння двох рядків в лексикографічному (алфавітному) порядку. Різні реалізації методу дозволяють порівнювати рядки і підрядки з урахуванням і без урахування регістра і особливостей національного представлення дат і так далі
CompareOrdinal Статичний метод Порівняння двох рядків по кодах символів. Різні реалізації методу дозволяють порівнювати рядки і підрядки
CompareTo Метод Порівняння поточного екземпляру рядка з іншим рядком

Продовження таблиці 6.4

 

Назва Вигляд Опис
Concat Статичний метод Конкатенація рядків. Метод допускає зчеплення довільного числа рядків
Copy Статичний метод Створення копії рядка
Empty Статичне поле Порожній рядок (тільки для читання)
Format Статичний метод Форматування відповідно до заданих специфікаторів формату (див. далі)
IndexOf, IndexOfAny, LastIndexOf, LastIndexOfAny Методи Визначення індексів першого і останнього входження заданого підрядка або будь-якого символу із заданого набору
Insert Метод Вставка підрядка в задану позицію
Intern, IsInterned Статичні методи Повертає посилання на рядок, якщо такий вже існує. Якщо рядка немає, Intern додає рядок у внутрішній пул, IsIntern повертає null
Join Статичний метод Злиття масиву рядків в єдиний рядок. Між елементами масиву вставляються роздільники (див.далі)
Length Властивість Довжина рядка (кількість символів)
PadLeft, PadRight Методи Вирівнювання рядка по лівому або правому краю шляхом вставки потрібного числа пропусків на початку або в кінці рядка
Remove Метод Видалення підрядка із заданої позиції
Replace Метод Заміна всіх входжень заданого підрядка або символу новим підрядком або символом
Split Метод Розділяє рядок на елементи, використовуючи задані роздільники. Результати поміщаються в масив рядків
StartsWith, EndsWith Методи Повертає true або false залежно від того, починається або закінчується рядок заданим підрядком
Substring Метод Виділення підрядка, починаючи із заданої позиції
ToCharArray Метод Перетворення рядка в масив символів
ToLower, ToUpper Методи Перетворення символів рядка до нижнього або верхнього регістра
Trim, TrimStart, TrimEnd Методи Видалення пропусків початку і кінця рядка

 

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

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

 

using System;

namespace ConsoleApplication1

{

class Classl

{

static void Main()

{

string s = "прекрасна королева Ізольда";

Console.WriteLine(s);

 

string sub = s.Substring(3).Remove(11, 2); //1

Console.WriteLine(sub);

 

string[] mas = s.Split(' '); //2

string joined = string.Join("!", mas);

Console.WriteLine(joined);

Console.WriteLine("Введіть рядок");

string x = Console.ReadLine(); //3

Console.WriteLine("Ви ввели рядок " + x);

double a = 12.234;

int b = 29;

 

Console.WriteLine(" a = {0,6:C} b = {1,2:X}", a, b); //4

Console.WriteLine(" a = {0,6:0.#} b = {1,5:0.# ' руб. '}", a, b); //5

Console.WriteLine(" a = {0,6:F3} b = {1:D3}", a, b); //6

}

}

}

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

 

прекрасна королева Ізольда

красна корова Ізольда

прекрасна! королева! Ізольда

Введіть рядок

не хочу!

Ви ввели рядок не хочу!

a = 12,23р. b = 1D

a = 12,2 b = 29 руб

a = 12,234 b = 029

У операторі 1 виконуються два послідовні виклики методів: метод Substring повертає підрядок рядка s, який містить символи початкового рядка, починаючи з третього. Для цього підрядка викликається метод Remove, що видаляє з нього два символи, починаючи з 11-го. Результат роботи методу привласнюється змінною sub.

Аргументом методу Split (оператор 2) є роздільник, в даному випадку - символ пропуску. Метод розділяє рядок на окремі слова, які заносяться в масив рядків mas. Статичний метод Join (він викликається через ім'я класу) об'єднує елементи масиву mas в один рядок, вставляючи між кожною парою слів рядок "!". Оператор 3 нагадує вам про те, як вводити рядки з клавіатури.

 


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


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