Шрифт:
Интервал:
Закладка:
является разделительным пробелом
т является буквой строчной
е является буквой строчной
с является буквой строчной
т является буквой строчной
. является знаком препинания
является разделительным пробелом
$ является символическим знаком
2 является цифрой
3 является цифрой
Исходная строка: Это простой тест. $23
После преобразования: ЭТО ПРОСТОЙ ТЕСТ. $23
Структура BooleanВ структуре Boolean поддерживаются данные типа bool. Методы, определенные в этой структуре, перечислены в табл. 21.10. Кроме того, в ней определены следующие поля.
public static readonly string FalseString
public static readonly string TrueString
В этих полях логические значения true и false содержатся в удобочитаемой форме. Так, если вывести содержимое поля FalseString с помощью метода WriteLine(), то на экране появится строка "False".
В структуре Boolean реализованы следующие интерфейсы: ICompагable, IComparable<bool>, IConvertible и IEquatable<bool>.
Табл. 21.10. Методы, определенные в структуре Boolean
Метод - Назначение
public int CompareTo(bool value) - Сравнивает логическое значение вызывающего объекта со значением параметра value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр value — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр value —логическое значение false
public int CompareTo(object obj) - Сравнивает логическое значение вызывающего объекта со значением параметра obj. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет логическое значение false, а параметр obj — логическое значение true; и, наконец, положительное значение, если вызывающий объект имеет логическое значение true, а параметр obj — логическое значение false
public bool Equals(bool obj) - Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public override bool Equals(object obj) - Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj
public override int GetHashCode() - Возвращает хеш-код для вызывающего объекта
public TypeCode GetTypeCode() - Возвращает значение перечисления TypeCode для структуры Boolean, т.е. TypeCode.Boolean
public static bool Parse(string s) - Возвращает эквивалент типа bool символьной строки s. Если строка s не содержит ни поле Boolean.TrueString, ни поле Boolean.FalseString, то генерируется исключение FormatException, независимо оттого, какими буквами набрано содержимое строки: прописными или строчными
public override string ToString() - Возвращает строковое, представление значения вызывающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString
public string
ToString(IFormatProvider provider) - Возвращает строковое представление значения вызывающего объекта, которое должно быть либо значением поля TrueString, либо значением поля FalseString. При этом параметр provider игнорируется
public static bool TryParse(string s, out bool result) - Предпринимает попытку преобразовать символ из строки s в его эквивалентное значение типа bool. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s не содержит ни поле Boolean. TrueString, ни поле Boolean. FalseString, то возвращается логическое значение false, независимо от того, какими буквами набрано содержимое строки: прописными или строчными, в отличие от метода Parse(), который генерирует исключение в аналогичной ситуации
Класс Array
Класс Array относится к числу наиболее часто используемых в пространстве имен System. Он является базовым классом для всех массивов в С#. Следовательно, его методы можно применять к массивам любого встроенного в C# типа или же к массивам определяемого пользователем типа. Свойства, определенные в классе Array, перечислены в табл. 21.11, а методы — в табл. 21.12.
В классе Array реализуются следующие интерфейсы: ICloneable, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable, а также IList. Все интерфейсы, кроме ICloneable, определены в пространстве имен System.Collections, подробнее рассматриваемом в главе 25.
В ряде методов данного класса используется параметр типа IComparer или IComparer<T>. Интерфейс IComparer находится в пространстве имен System.Collections. В нем определяется метод Compare() для сравнения значений двух объектов, как показано ниже.
int Compare(object х, object у)
Этот метод возвращает значение больше нуля, если х больше у; значение меньше нуля, если х меньше у; и, наконец, нулевое значение, если оба значения равны.
Интерфейс IComparer<T> находится в пространстве имен System.Collections.Generic. В нем определяется метод Compare(), общая форма которого приведена ниже.
int Compare(Т х, Т у)
Он действует таким же образом, как и его необобщенный аналог, возвращая значение больше нуля, если х больше у значение меньше нуля, если х меньше у и, наконец, нулевое значение, если оба значения равны. Преимущество интерфейса IComparer<T> заключается в том, что он обеспечивает типовую безопасность. Ведь в этом случае тип обрабатываемых данных указывается явным образрм, а следовательно, никакого приведения типов не требуется.
В последующих разделах демонстрируется ряд наиболее распространенных операций с массивами.
Таблица 21.11. Свойства, определенные в классе Array
Свойство - Назначение
public bool IsFixedSize { get; } - Доступно только для чтения. Принимает логическое значение true, если массив имеет фиксированный размер, и логическое значение false, если массив может изменять его динамически
public bool IsReadOnly { get; } - Доступно только для чтения. Принимает логическое значение true, если объект класса Array предназначен только для чтения, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение true
public bool IsSynchronized { get; } - Доступно только для чтения. Принимает логическое значение true, если массив можно безопасно использовать в многопоточной среде, а иначе — логическое значение false. Для массивов это свойство всегда имеет логическое значение true
public int Length { get; } - Доступно только для чтения. Имеет тип int и содержит количество элементов в массиве
public long LongLength { get; } - Доступно только для чтения. Имеет тип long и содержит количество элементов в массиве
public int Rank { get; } - Доступно только для чтения. Содержит размерность массива
public object SyncRoot { get; } - Доступно только для чтения. Содержит объект, предназначенный для синхронизации доступа к массиву
Таблица 21.12. Методы, определенные в классе Array
Метод - Назначение
public static ReadOnlyCollection<T> AsReadOnly<T>(Т[] array) - Возвращает доступную только для чтения коллекцию, которая включает в себя массив, определяемый параметром array
public static int BinarySearch(Array array, object value) - Осуществляет поиск значения value в массиве array. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
public static int BinarySearch<T>(T[] array, T value) - Осуществляет поиск значения value в массиве array. Возвращает индекс первого вхождения искомого значения. Если оно не найдено, возвращает отрицательное значение. Массив array должен быть отсортированным и одномерным
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Управление исходными текстами. Часть 1. Краткое руководство по CVS - Илья Рыженков - Программирование
- Гибкое управление проектами и продуктами - Борис Вольфсон - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда - Прочая околокомпьтерная литература / Интернет / Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование