Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Рядки типу string




Тип 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 нагадує вам про те, як вводити рядки з клавіатури.

 

6.8.4. Форматування рядків

 

У операторові 4 з лістингу 6.8 неявно застосовується метод Format, який замінює всі входження параметрів у фігурних дужках значеннями відповідних змінних із списку виведення. Після номера параметра можна задати мінімальну ширину поля виведення, а також вказати специфікатор формату, який визначає форму представлення значення, що виводиться.

У загальному вигляді параметр задається таким чином:

 

{ n [,m[:специфікатор_ формату]] }

 

Тут n -номер параметра. Параметри нумеруються з нуля, нульовий параметр замінюється значенням першої змінної із списку виведення, перший параметр - другою змінною і так далі. Параметр m визначає мінімальну ширину поля, яке відводиться під значення, що виводиться. Якщо числу, що виводиться, достатньо меншої кількості позицій, невживані позиції заповнюються пропусками. Якщо числу потрібно більше позицій, параметр ігнорується. Специфікатор формату визначає формат виведення значення. Наприклад, специфікатор C (Currency) означає, що параметр повинен форматуватися як валюта з урахуванням національних особливостей представлення, а специфікатор X (Hexadecimal) задає шістнадцятирічну форму представлення значення, що виводиться.

У операторі 5 використовуються так звані призначені для користувача шаблони форматування. Якщо придивитися, в них немає нічого складного: після двокрапки задається вид значення, що виводиться, причому на місці кожного символу може бути # або 0. Якщо вказаний знак #, на цьому місці буде виведена цифра числа, якщо вона не дорівнює нулю. Якщо вказаний 0, буде виведена будь-яка цифра, у тому числі і 0. У таблиці 6.5 приведені приклади шаблонів і результатів виведення.

 

Таблиця 6.5.

 

Приклади застосування призначених для користувача шаблонів форматування

 

Число Шаблон Вид
1,243 00.00 01,24
1,243 #.## 1,24
0,1 00.00 00,10
0,1 #.## ,1

 

Призначений для користувача шаблон може також містити текст, який в загальному випадку береться в апострофи.

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 707; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.