Рейтинговые книги
Читем онлайн C# 4.0: полное руководство - Герберт Шилдт

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 201 202 203 204 205 206 207 208 209 ... 294

 является разделительным пробелом

т является буквой строчной

е является буквой строчной

с является буквой строчной

т является буквой строчной

. является знаком препинания

 является разделительным пробелом

$ является символическим знаком

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 должен быть отсортированным и одномерным

1 ... 201 202 203 204 205 206 207 208 209 ... 294
На этой странице вы можете бесплатно читать книгу C# 4.0: полное руководство - Герберт Шилдт бесплатно.
Похожие на C# 4.0: полное руководство - Герберт Шилдт книги

Оставить комментарий