Читать книги » Книги » Компьютеры и Интернет » Программирование » Герберт Шилдт - C# 4.0: полное руководство

Герберт Шилдт - C# 4.0: полное руководство

Читать книгу Герберт Шилдт - C# 4.0: полное руководство, Герберт Шилдт . Жанр: Программирование.
Герберт Шилдт - C# 4.0: полное руководство
Название: C# 4.0: полное руководство
ISBN: -
Год: -
Дата добавления: 3 июль 2019
Количество просмотров: 573
(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
Читать онлайн

C# 4.0: полное руководство читать книгу онлайн

C# 4.0: полное руководство - читать онлайн , автор Герберт Шилдт
В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию
Перейти на страницу:

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

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

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

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

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

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

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

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

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

Перейти на страницу:
Комментарии (0)