ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Шрифт:
Как
Анализ значений строковых данных
Типы данных .NET обеспечивают возможность генерировать переменную того типа, который задается данным текстовом эквивалентом (т.е. выполнять синтаксический анализ). Эта возможность может оказаться чрезвычайно полезной тогда, когда требуется преобразовать вводимые пользователем данные (например, выделенные в раскрывающемся списке) в числовые значения. Рассмотрите следующий фрагмент программного кода.
System.DateTime и System.TimeSpan
В завершение нашего обзора базовых типов данных позволите обратить ваше внимание на то, что пространство имен System определяет несколько полезных типов данных, для которых в C# не предусмотрено ключевых слов. Это, в частности, типы DateTime и TimeSpan (задачу исследования типов System.Guid и System.Void, которые среди прочих показаны на рис. 3.19, мы оставляем на усмотрение заинтересованных читателей).
Тип DateTime содержит данные, представляющие конкретные дату (месяц, день, год) и время, которые можно отформатировать различными способами с помощью соответствующих членов. В качестве простого примера рассмотрите следующий набор операторов.
Структура TimeSpan позволяет с легкостью определять и преобразовывать единицы времени с помощью различных ее членов, например:
На
рис. 3.20 показан вывод операторов DateTime и TimeSpan.Рис. 3.20. Использование типов DateTime и TimeSpan
Исходный код. Проект DataTypes размещен в подкаталоге, соответствующем главе 3.
Тип данных System.String
Ключевое слово string в C# является сокращенным обозначением типа System.String, предлагающего ряд членов, вполне ожидаемых от этого класса. В табл. 3.12 предлагаются описания некоторых (но, конечно же, не всех) таких членов.
Таблица 3.12. Некоторые члены System.String
Член | Описание |
---|---|
Length | Свойство, возвращающее длину текущей строки |
Contains | Метод, применяемый для выяснения того, содержит ли текущий строковый объект данную строку |
Format | Статический метод, применяемый для форматировании строковых литералов с использованием примитивов (числовых данных и других строк) и обозначений типа {0}, уже встречавшихся ранее в этой главе |
Insert | Метод, используемый для получения копии текущей строки, содержащей добавляемые строковые данные |
PadLeft PadRight | Методы, возвращающие копии текущей строки, дополненные указанными данными в качестве заполнителя |
Remove Replace | Методы, используемые для получения копии строки с соответствующими модификациями (при удалении или замене символов) |
Substring | Метод, возвращающий строку, которая представляет подстроку текущей строки |
ToCharArray | Метод, возвращающий массив символов, из которых состоит текущая строка |
ToUpper ToLower | Методы, создающие копию данной строки, представленную символами в верхнем или, соответственно, нижнем регистре |
Базовые операции со строками
Для иллюстрации некоторых базовых операций со строками рассмотрим следующий метод Main.
Здесь мы создаем тип string, вызывающий методы Contains, Replace и Insert. Cоответствующий вывод показан на рис. 3.21.
Рис. 3.21. Базовые операции во строками
Вы должны учесть то, что хотя string и является ссылочным типом, операции равенства и неравенства (== и !=) предполагают сравнение значений со строковыми объектами, а не областей памяти, на которые они ссылаются. Поэтому следующее сравнение в результате дает true: