Вправа – відкрийте для себе Split() і Join()
- 10 хвилин
Коли ви продовжуєте свою розробку для логістичної компанії, ви починаєте створювати ряд невеликих програм. Ці програми працюють разом, щоб взяти дані з системи одного партнера, змінити їх, а потім передати їх внутрішній системі в необхідному форматі.
Щоб виконати перетворення даних, потрібно прийняти вхідні дані як рядок, проаналізувати їх на менші елементи даних, а потім керувати ними відповідно до потрібного формату. Як можна проаналізувати дані рядка на менші елементи даних?
Способи масиву типу даних рядка
Змінні типу string мають багато вбудованих методів, які перетворюють один рядок на масив менших рядків або масив окремих символів.
Коли ви обробляєте дані з інших комп'ютерних систем, іноді вони форматують або кодують таким чином, що не зручно для ваших цілей. У таких випадках для аналізу рядка в масиві використовуються string методи масиву типу даних.
Використовуйте для зворотного ToCharArray()string
Видаліть або скористайтеся оператором примітки рядка
//, щоб прокоментувати весь код із попередніх вправ.Оновіть код у редакторі коду Visual Studio, як показано нижче.
string value = "abc123"; char[] valueArray = value.ToCharArray();
У цьому прикладі ToCharArray() метод використовується для створення масиву char, де кожен елемент масиву представляє один символ вихідного рядка.
Оберніть, а потім об'єднайте масив символів у новий рядок
Після цього порядок символів у масиві змінюється на зворотний, а потім Write використовується, щоб об'єднати їх в один результат.
Оновіть код у редакторі коду Visual Studio, як показано нижче.
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); string result = new string(valueArray); Console.WriteLine(result);new string(valueArray)Вираз створює новий пустий екземплярSystem.Stringкласу (який збігаєтьсяstringз типом даних у C#) і проходить у масиві символів як конструктор.Примітка
Що таке ключове
newслово?System.StringЯк клас пов'язаний ізstringтипом даних у C#? Що таке конструктор? Усі великі запитання, які, на жаль, не використовуються для цього модуля. Радимо й надалі дізнаватися про бібліотеку класу .NET, а також класи та об'єкти в C#, щоб повністю зрозуміти, що відбувається за лаштунками за допомогою цього виразу коду. Наразі скористайтеся пошуковою системою та документацією Microsoft, щоб знайти приклади, які можна використовувати в таких ситуаціях, коли ви знаєте, що хочете виконати перетворення, але не впевнені, як це зробити за допомогою C#.У меню Файл код Visual Studio Code виберіть Зберегти.
Перед створенням або запуском коду необхідно зберегти файл Program.cs.
На панелі EXPLORER, щоб відкрити термінал у розташуванні папки TestProject, клацніть правою кнопкою миші TestProject , а потім виберіть Відкрити в інтегрованому терміналі.
Панель терміналів має відкритися та містити командний рядок, який показує, що термінал відкрито в папці TestProject.
У командному рядку термінала, щоб запустити код, введіть dotnet виконати і натисніть клавішу Enter.
Примітка
Якщо відображається повідомлення "Не вдалося знайти проект для запуску", переконайтеся, що в командному рядку термінала відображається очікуване розташування папки TestProject. Наприклад:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Ви побачите такий результат:
321cba
Об'єднання всіх символів у новий рядок із роздільниками-комами за допомогою Join()
У деяких випадках може знадобитися розділити кожен елемент масиву символів за допомогою коми, що є поширеною практикою під час роботи з даними, представленими як текст ASCII. Для цього ви прокоментуєте рядок коду, доданий на кроці 2, і використовуєте String метод класу Join() , переходячи в символ, який потрібно видалити з кожного сегмента (коми) і самого масиву.
Оновіть код у редакторі коду Visual Studio, як показано нижче.
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result);Збережіть кодовий файл, а потім за допомогою коду Visual Studio запустіть код.
Ви побачите такий результат:
3,2,1,c,b,a
Split() рядок із роздільниками-комами в масив рядків
Для завершення коду Split() використовується метод. Цей метод призначено для змінних типу string та створює масив рядків.
Скористайтеся редактором коду Visual Studio, щоб додати такі рядки коду в нижній частині файлу:
string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }Щоб переглянути попередній код, знадобиться хвилина.
Кому буде надано
.Split()як роздільник для розділення одного довгого рядка на менші рядки. Потім код використовуєforeachцикл для ітерації через кожен елемент новоствореного масиву рядків .itemsПереконайтеся, що код тепер відображається таким чином:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result); string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }Збережіть кодовий файл, а потім за допомогою коду Visual Studio запустіть код.
Під час запуску коду відобразиться такий вивід:
3,2,1,c,b,a 3 2 1 c b aМасив
items, створений за допомогоюstring[] items = result.Split(',');, використовується в цикліforeachта відображає окремі символи з оригіналуstring, що міститься в змінноїvalue.
Повторити введення
Ось кілька ключових моментів, які слід пам'ятати під час роботи з рядками та масивами:
- Щоб створити масив, використовуйте такі методи, як
ToCharArray()іSplit() - Щоб повернути масив в один рядок, скористайтеся такими методами, як
Join(), або створіть новий рядок, що проходить у масивіchar