Узнайте, как управлять, искать, перечислять и форматировать строки в C #.

Привет, народ!

В этой истории будет обсуждаться Задача 2.7: Управление строками! Надеюсь, тебе понравится!

В последнем рассказе была представлена ​​Задача 2.6: Управление жизненным циклом объекта.

Все коды для сертификационных серий можно найти здесь.

Вступление

Прежде всего кратко напишу о том, что такое строка.

Строка - это тип, значением которого является текст. Обычно мы будем использовать ключевое слово string, которое представляет псевдоним типа String. Строка внутри состоит из массива элементов char, и ее можно повторять с помощью операторов foreach и for напрямую.

Когда мы сравниваем две строки с помощью операторов равенства, сравнивается фактическое значение, а не ссылка (поскольку String является ссылочным типом). Например, в Java оператор равенства использует фактические ссылки, поэтому чаще всего люди используют строковый метод equals ().

Управление строками с помощью классов StringBuilder, StringWriter и StringReader

Объект String неизменяем. Каждый раз, когда вам нужно внести изменения в String, требуется использование метода String, который всегда будет возвращать значение (поэтому вам нужно переназначить его).

Используя StringBuilder, вы можете выполнять повторяющиеся изменения в String без дополнительных затрат на создание экземпляра String каждый раз, когда присваивается новое значение.

В некоторых случаях вам понадобится использовать TextWriter или TextReader при использовании некоторых API .NET Framework. Просто чтобы назвать несколько, JsonWriter и XmlWriter требуют экземпляра StringWriter. Под капотом StringWriter и StringReader используют StringBuilder.

Пример кода:

В приведенном выше коде показано использование StringBuilder, StringReader и StringWriter.

Строки поиска

.NET Framework предлагает нам несколько способов поиска подстроки. Посмотрим на каждого из них.

Индекс

Возвращает индекс первого вхождения заданного строкового запроса. Если он не найден, возвращается -1.

LastIndexOf

Аналогичен методу IndexOf, но возвращает последнее вхождение заданного строкового запроса. Он также возвращает -1, если не найден.

Начинается с

Возвращает логическое значение: true, если данная строка найдена в начале строки, в которой выполняется поиск, и false, если данная строка не найдена в начале.

Подстрока

Имеет две перегрузки:

  • (int startIndex): возвращает подстроку, начиная с startIndex до конца строки.
  • (int startIndex, int size): возвращает подстроку, начинающуюся с startIndex, с длиной size.

Пример кода:

Перечислить строковые методы

Как сказано во введении к этой истории, строки могут повторяться как обычные коллекции.

Пример кода:

Строки формата

При отображении других типов в виде строк .NET Framework предлагает способы вывода их в различных форматах, таких как применение форматов даты, валют, установка десятичных разрядов при печати чисел и т. Д.

До C # 6.0 обычным способом форматирования строки было использование метода String.Format.

Использовать строковую интерполяцию

Начиная с C # 6.0, появился новый способ простого создания форматированных строк (по сравнению с методом String.Format): символ $, который определяет интерполированную строку. .

Он широко использовался в моих примерах кода!

Пример кода для форматирования строк с использованием обоих подходов:

На этом пока все! Я надеюсь, что вы узнали хоть что-то полезное, независимо от того, учитесь ли вы, чтобы сдать сертификационный экзамен, или просто хотите узнать больше о C #.

Этим рассказом мы завершаем вторую тему Создание и использование типов. Следующим шагом будет Отладка приложений и реализация безопасности.

Увидимся в следующем рассказе, где я расскажу о Задаче 3.1: Проверить вводимые данные приложения.

PS: Если вы найдете эту историю полезной, я приглашаю вас нажать кнопку Clap. Также буду рад видеть Вас в качестве моего нового последователя!