КАТЕГОРИИ: Архитектура-(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
Продовження таблиці 6.4
Приклад застосування методів приведений в лістингу 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.
Приклади застосування призначених для користувача шаблонів форматування
Призначений для користувача шаблон може також містити текст, який в загальному випадку береться в апострофи.
Дата добавления: 2014-12-27; Просмотров: 740; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |