Узнайте, как управлять, искать, перечислять и форматировать строки в 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. Также буду рад видеть Вас в качестве моего нового последователя!