Пошук по сайту  

   

Пошук роботи!  

Вакансії C# developer

Работа в Украине

   

Реклама  

Скачуйте відеуроки для створення сайту за допомогою SMS Joomla 

реклама

 

 

   

Ми в Facebook  

   

Статистика  

Користувачі
3
Статті
203
Перегляди статей
1922241
   

Реклама в мережі  

   

Ми знаходимось тут  

   

Посібник Delphi  

ДОСТУПНИЙ ВИКЛАД,

ЦІКАВІ ПРИКЛАДИ, ВИХІДНІ КОДИ.

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 500 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

 
   

Посібник по C#  

 Вивчаємо сучасну мову  програмування C# 7.0

ПРОГРАМУЄМО в VISUAL STUDIO 2017

ЦІНА ДИСКА З МАТЕРІАЛАМИ - 1000 грн. 

Якщо ваша карта обслуговується ПриватБанком тоді переведіть потрібну суму через Приват24 на карту    5168 7573 0556 9925 або натисніть на посилання "Перейти до оплати", щоб здійснити миттєвий платіж без комісії. Перейти до оплати!

 Звертайтесь за адресою еmail:kuzbyt@ukr.net

Тут Подяка на підтримку сайту
 
   

Випадкове фото  

   

Наш відеоканал  

   

Відвідування сайту  

Яндекс.Метрика

 

   

Відеокурс по С++  

   

Рекомендуємо:  

   

Робота з рядками в Сі-шарп. Клас String

Рядки в Сі-шарп - це об'єкти класу String, значенням яких є текст. Для роботи з рядками в цьому класі визначено безліч методів (функций) і в цьому уроці ми розглянемо деякі з них.

 Щоб використовувати рядок, його потрібно спочатку створити - приcвоїти яке-небудь значення, інакше ми отримаємо помилку: "Використання локальної змінної" [ім'я змінної] ", якої не присвоєно значення". Оголосимо простий рядок і виведемо його на екран:

static void Main (string [] args)

{

   string s = "Hello World!";

   Console.WriteLine (s);

}

static void Main (string [] args)

{

   string s;

   Console.WriteLine (s); // Помилка, рядок не створений

}

 

Для об'єднання (конкатенації) рядків використовується оператор "+".

 string s = "Hello," + "World!";

Оператор "[]" використовується для доступу (лише читання) до символу рядка за індексом:

string s = "Hello World!";

char c = s [1]; // 'E'

 Властивість Length повертає довжину рядка.

Спецсимволи

Символ "\" є службовим, тому, щоб використовувати символ зворотного слеша необхідно вказувати його двічі "\\".

Символ табуляції - "\ t"

Символ переносу рядка - "\ r \ n"

Подвійні лапки - "\" "

Методи (функції) класу String для роботи з рядками в Сі-шарп

Як перевірити, порожній рядок?

Метод IsNullOrEmpty () повертає True, якщо значення рядка дорівнює null, або коли він порожній (значення одне ""):

static void Main (string [] args)

{

   string s1 = null, s2 = "", s3 = "Hello";

   String.IsNullOrEmpty (s1); // True

   String.IsNullOrEmpty (s2); // True

   String.IsNullOrEmpty (s3); // False

}

Метод IsNullOrWhiteSpace() працює як і метод IsNullOrEmpty(), тільки повертає True ще й тоді, коли рядок являє собою набір символів пробілу та / або табуляції ("\ t"):

static void Main (string [] args)

{

   string s1 = null, s2 = "\ t", s3 = "", s4 = "Hello";

   String.IsNullOrWhiteSpace (s1); // True

   String.IsNullOrWhiteSpace (s2); // True

   String.IsNullOrWhiteSpace (s3); // True

   String.IsNullOrWhiteSpace (s4); // False

}

 

Як перевірити, чи є один рядок "більше" за інший?

Для порівнювання рядків використовується метод Compare(). Суть порівняння рядків полягає в тому, що перевіряється їх ставлення щодо алфавіту. Рядок "a" "менше" рядка "b", "bb" "більший" рядка "ba". Якщо обидва рядки рівні - метод повертає "0", якщо перший рядок менший за другий - "-1", якщо перший більший за другий - "1": 

static void Main (string [] args)

{

   String.Compare ("a", "b"); // Повертає -1

   String.Compare ("a", "a"); // Повертає 0

   String.Compare ("b", "a"); // Повертає 1

   String.Compare ("ab", "abc"); // Повертає -1

   String.Compare ("Romania", "Russia"); // Повертає -1

   String.Compare ("Rwanda", "Russia"); // Повертає 1

   String.Compare ("Rwanda", "Romania"); // Повертає 1

}

Щоб ігнорувати регістр букв, в метод потрібно передати, як третій аргумент true.

String.Compare ("ab", "Ab"); // Повертає -1

String.Compare ("ab", "Ab", true); // Повертає 0

Як перевести весь рядок у верхній / нижній регістр?

Для цього використовуються методи ToUpper () і ToLower ():

static void Main (string [] args)

{

   string s = "Hello, World";

   Console.WriteLine (s.ToUpper ()); // Виводить "HELLO, WORLD"

   Console.WriteLine (s.ToLower ()); // Виводить "hello, world"

   Console.ReadLine ();

}

Як перевірити, чи містить рядок підрядок?

Для перевірки вмісту підрядка рядком використовується метод Contains(). Даний метод приймає один аргумент - підрядок. Повертає True, якщо рядок містить підрядок, в іншому випадку - False. Приклад:

static void Main (string [] args)

{

   string s = "Hello, World";

 

   if (s.Contains ("Hello"))

     Console.WriteLine ("Містить");

   Console.ReadLine ();

}

Дана програма виводить слово "Містить", так як "Hello, World" містить підрядок "Hello".

 Як знайти індекс першого символу підрядка, яку містить рядок?

Метод IndexOf() повертає індекс першого символу підрядка, який містить рядок. Даний метод приймає один аргумент - підрядок. Якщо рядок не містить підрядка, метод повертає "-1". Приклад:

 static void Main (string [] args)

{

   string s = "Hello, World";

   Console.WriteLine (s.IndexOf ("H")); // 0

   Console.WriteLine (s.IndexOf ("World")); // 7

   Console.WriteLine (s.IndexOf ("Zoo")); // -1

   Console.ReadLine ();

}

Як дізнатися, починається / закінчується чи рядок зазначеної підрядком?

Для цього використовуються відповідно методи StartsWith() і EndsWith(), які повертають логічне значення. Приклад:

static void Main (string [] args)

{

   string s = "Hello, World";

   Console.WriteLine (s.StartsWith ("Hello")); // True

   Console.WriteLine (s.StartsWith ("World")); // False

   Console.WriteLine (s.EndsWith ("World")); // True

   Console.ReadLine ();

}

 

Як вставити підрядок в рядок, починаючи з вказаної позиції?

Метод Insert () використовується для вставки підрядка в рядок, починаючи з вказаної позиції. Даний метод приймає два аргументи - позиція і підрядок. Приклад:

 static void Main (string [] args)

{

   string s = "Hello World";

   Console.WriteLine (s.Insert (5, ",")); // Вставляє кому на 5 позицію

   Console.ReadLine ();

}

 

Як обрізати рядок, починаючи з вказаної позиції?

Метод Remove() приймає один аргумент - позиція, починаючи з якої обрізається рядок:

static void Main (string [] args)

{

   string s = "Hello, World";

   Console.WriteLine (s.Remove (5)); // Видаляємо всі символи, починаючи з 5 позиції, на екран виведеться "Hello"

   Console.ReadLine ();

}

У метод Remove () можна передати і другий аргумент - кількість обрізаних символів. Remove (3, 5) - видалить з рядка п`ять символів починаючи з третього.

 Як отримати підрядок з рядка, починаючи з вказаної позиції?

Для цього використовується метод Substring(). Він приймає один аргумент - позиція, з якою буде починатися нова підстрока:

static void Main (string [] args)

{

   string s = "Hello, World";

   Console.WriteLine (s.Substring (7)); // Отримуємо рядок починаючи з 7 позиції, виведе "World"

   Console.ReadLine ();

}

У метод Substring (), як в метод Remove () можна передати і другий аргумент - довжина підрядка. Substring (3, 5) - поверне підрядок довжиною в 5 символів починаючи з третього позиції рядка.

Як замінити в рядку всі підрядки зазначеного нового підрядка?

Метод Replace() приймає два аргументи - підрядок, який потрібно замінити і новий підрядок, на який буде замінена перший:

 static void Main (string [] args)

{

   string s = "Hello, World, Hello";

   Console.WriteLine (s.Replace ("Hello", "World")); // виведе "World, World, World"

   Console.ReadLine ();

}

Як перетворити рядок в масив символів?

Метод ToCharArray () повертає масив символів зазначеного рядкя:

static void Main (string [] args)

{

   string s = "Hello, World";

   char [] array = s.ToCharArray (); // Елементи масиву - 'H', 'e', ​​'l', 'l' ...

}

Як розбити рядок за вказаною символу на масив підрядків?

Метод Split () приймає один аргумент - символ, за яким буде розбитий рядок. Повертає масив рядків. Приклад:

static void Main (string [] args)

{

   string s = "Arsenal, Milan, Real Madrid, Barcelona";

   string [] array = s.Split (','); // Елементи масиву - "Arsenal", "Milan", "Real Madrid", "Barcelona"

}

Незмінні рядки

Варто знати, що об'єкти класу String являють собою незмінні (Immutable) послідовності символів Unicode. Коли ви використовуєте будь-який метод по зміні рядка (наприклад Replace ()), він повертає нову змінену копію рядка, вихідні ж рядки залишаються незмінними. Так зроблено тому, що операція створення нового рядка набагато менш затратна, ніж операції копіювання і порівняння, що підвищує швидкість роботи програми. У Сі-шарп також є клас StringBuilder, який дозволяє змінювати рядка. Про особливості роботи з ним ми поговоримо в одному з подальших уроків.

 

Домашнє завдання

 Завдання 1. Є якийсь текст. Необхідно замінити в цьому тексті всі слова "Nikolay" на "Oleg".

 Завдання 2. Дан текст - «Сьогодні ми з вами розглянули, як працювати з рядками в Сі-шарп. Були описані основні оператори і методи, які використовуються для роботи з рядками ». Відобразити цей текст так, щоб залишилася тільки частина «Були описані основні оператори і методи».

 Завдання 3. Дано рядок, яка містить імена користувачів, розділені комою - "Login1, LOgin2, login3, loGin4". Необхідно розбити цей рядок на масив рядків (щоб окремо були логіни), і перевести їх усі в нижній регістр.

PS. Буду дуже вдячний, якщо поділитеся з друзями цією статтею за допомогою кнопок соціальних мереж в кінці поста.

 

   

Поділіться з друзями!

Соціальні мережі

   

Сайт для перевірки своїх знань з програмування на сайті:http://www.quizful.net/test

Онлайн тести  для програмістів: https://proghub.ru/


 Розробка сайтів, інтернет-магазинів під ключ. Створення програмного забезпечення для обліку в магазинах,

гуртовнях, ведення власного бізнесу та інших. Написання дипломних та курсових робіт з програмування, баз даних.

 

Звертайтесь за адресою email:kuzbyt@ukr.net

 

 

© (C) Sambir, I.Kuzbyt