Упражнение. Обнаружение split() и Join()
- 10 минут
По мере продолжения разработки для логистической компании вы начинаете создавать ряд небольших приложений. Эти приложения работают вместе, чтобы принимать данные из системы одного партнера, изменять его, а затем передавать их во внутреннюю систему в требуемом формате.
Чтобы выполнить преобразование данных, необходимо принять входящие данные в виде строки, проанализировать их на небольшие элементы данных, а затем управлять им, чтобы соответствовать другому формату. Как проанализировать строковые данные на небольшие элементы данных?
Методы массива строковых типов данных
Переменные типа string имеют множество встроенных методов, которые преобразуют одну строку в массив меньших строк или в массив отдельных символов.
При обработке данных из других компьютерных систем иногда он форматирует или кодирует таким образом, что не полезно для ваших целей. В этих случаях методы массива данных используются string для анализа строки в массив.
Использование обратного ToCharArray()string
Удалите или используйте оператор
//строковый комментарий, чтобы закомментировать весь код из предыдущих упражнений.Обновите код в редакторе Visual Studio Code следующим образом:
string value = "abc123"; char[] valueArray = value.ToCharArray();
В этом примере ToCharArray() метод используется для создания массива char, где каждый элемент массива представляет один символ исходной строки.
Обратный, а затем объединение массива char в новую строку
Затем порядок символов в массиве перевернут, а затем Write метод используется для объединения их обратно в один выход.
Обновите код в редакторе Visual Studio Code следующим образом:
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#, чтобы полностью понять, что происходит за кулисами с этим выражением кода. Теперь используйте поисковую систему и документацию Майкрософт, чтобы найти примеры, которые можно использовать в таких ситуациях, где вы знаете, что вы хотите выполнить преобразование, но не уверены, как это сделать с помощью C#.В меню "Файл Visual Studio Code" нажмите кнопку "Сохранить".
Перед созданием или выполнением кода необходимо сохранить файл Program.cs.
На панели обозревателя откройте терминал в папке TestProject, щелкните правой кнопкой мыши TestProject и выберите "Открыть в интегрированном терминале".
Панель терминала должна открыться и должна содержать командную строку, показывающую, что терминал открыт для расположения папки TestProject.
В командной строке терминала, чтобы запустить код, введите dotnet run и нажмите Enter.
Примечание.
Если появится сообщение "Не удалось найти проект для запуска", убедитесь, что в командной строке терминала отображается ожидаемое расположение папки TestProject. Например:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Должен появиться следующий результат:
321cba
Объединение всех символов в новую строку с разделимой запятыми и значением с помощью Join()
В некоторых случаях может потребоваться разделить каждый элемент массива символов с помощью запятой, что является распространенной практикой при работе с данными, представленными как текст ASCII. Для этого вы закомментируете строку кода, добавленную на шаге 2, и используете String метод класса Join() , передавая символ, который нужно разделять каждый сегмент (запятую) и сам массив.
Обновите код в редакторе Visual Studio Code следующим образом:
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 Code для запуска кода.
Должен появиться следующий результат:
3,2,1,c,b,a
Split() строка с разделимой запятыми в массив строк
Для завершения кода Split() используется метод. Этот метод предназначен для переменных типа string и создает массив строк.
Используйте редактор Visual Studio Code, чтобы добавить следующие строки кода в нижней части файла:
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 Code для запуска кода.
После выполнения кода вы увидите следующий результат:
3,2,1,c,b,a 3 2 1 c b aСозданный
itemsмассивstring[] items = result.Split(',');используется в циклеforeachи отображает отдельные символы из исходногоstring, содержащегося в переменнойvalue.
Кратко
Ниже приведены некоторые ключевые моменты, которые следует помнить при работе со строками и массивами:
- Чтобы создать массив, используйте такие методы, как
ToCharArray()иSplit() - Чтобы вернуть массив обратно в одну строку, используйте такие методы, как
Join()или создайте новую строку, передаваемую в массивchar