Полное руководство. С# 4.0 - Шилдт Герберт
Шрифт:
Интервал:
Закладка:
Таблица 21.8. Поля, поддерживаемые структурой DecimalПолеНазначениеpublic static readonly decimalMaxValue Наибольшее значение, допустимое для данных типа decimalpublic static readonly decimal MinusOneПредставление числа -1 в виде значения типа decimalpublic static readonly decimal MinValueНаименьшее значение, допустимое для данных типа decimalpublic static readonly decimal OneПредставление числа 1 в виде значения типа decimalpublic static readonly decimal ZeroПредставление числа 0 в виде значения типа decimalСтруктура Char
Структура Char соответствует типу char и применяется довольно часто, поскольку предоставляет немало методов, позволяющих обрабатывать символы и распределять их по отдельным категориям. Например, символ строчной буквы можно преобразовать в символ прописной буквы, вызвав метод ToUpper(), а с помощью методаIsDigit() можно определить, обозначает ли символ цифру.
Методы, определенные в структуре Char, приведены в табл. 21.9. Следует, однако, иметь в виду, что некоторые методы, например ConvertFromUtf32()и ConvertToUtf32(), позволяют обрабатывать символы уникода в форматах UTF-16и UTF-32. Раньше все символы уникода могли быть представлены 16 разрядами, чтосоответствует величине значения типа char. Но несколько лет назад набор символовуникода был расширен, для чего потребовалось более 16 разрядов. Каждый символуникода представлен кодовой точкой, а способ кодирования кодовой точки зависит отиспользуемого формата преобразования уникода (UTF). Так, в формате UTF-16 длякодирования большинства кодовых точек требуется одно 16-разрядное значение, а длякодирования остальных кодовых точек — два 16-разрядных значения. Если для этойцели требуются два 16-разрядных значения, то для их представления служат два значения типа char. Первое символьное значение называется старшим суррогатом, а второе — младшим суррогатом. В формате UTF-32 каждая кодовая точка кодируется с помощью одного 32-разрядного значения. В структуре Char предоставляются все необходимые средства для преобразования из формата UTF-16 в формат UTF-32 и обратно.
В отношении методов структуры Char необходимо также отметить следующее:в используемых по умолчанию формах методов ToUpper() и ToLower() применяются текущие настройки культурной среды (языки и региональные стандарты), чтобыуказать способ представления символов верхнего и нижнего регистра. На момент написания этой книги рекомендовалось явно указывать текущие настройки культурнойсреды, используя для этой цели параметр типа CultureInfo во второй форме обоихупоминаемых методов. Класс CultureInfo относится к пространству имен System.Globalization, а для указания текущей культурной среды следует передать свойствоCultureInfo.CurrentCulture соответствующему методу.
В структуре Char определены также следующие поля.public const char MaxValuepublic const char MinValue
Кроме того, в структуре Char реализуются следующие интерфейсы: IComparable,IComparable<char>, IConvertible и IEquatable<char>.
Таблица 21.9. Методы, определенные в структуре CharМетодНазначениеpublic int CompareTo(char value)Сравнивает символ в вызывающем объекте с символом value. Возвращает нуль, если сравниваемые символы равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значениеpublic int CompareTo(object value)Сравнивает символ в вызывающем объекте с символом value. Возвращает нуль, если сравниваемые символы равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значениеpublic static string ConvertFromUtf32(int utf32)Преобразует кодовую точку уникода, представленную параметром utf32 в формате UTF-32, в символьную строку формата UTF-16 и возвращает полученный результатpubic static int ConvertToUtf32 (char highSurrogate, char lowSurrogate)Преобразует старший и младший суррогаты, представленные параметрами highSurrogate и lowSurrogate в формате UTF-16, в кодовую точку формата UTF-32 и возвращает полученный результатpubic static int ConvertToUtf32(string s, int index)Преобразует пару суррогатов формата UTF-16, доступных из символьной строки по индексу s[index], в кодовую точку формата UTF-32 и возвращает полученный результатpublic bool Equals(char obj)Возвращает логическое значение true, если значение вызывающего объекта равно значению objpublic override bool Equals(object obj)Возвращает логическое значение true, если значение вызывающего объекта равно значению objpublic override int GetHashCode()Возвращает хеш-код для вызывающего объектаpublic static double GetNumericValue(char c)Возвращает числовое значение символа с, если он обозначает цифру. В противном случае возвращает -1public static double GetNumericValue(string s, int index)Возвращает числовое значение символа, доступного из строки по индексу s[index], если он обозначает цифру. В противном случае возвращает -1public TypeCode GetTypeCode()Возвращает значение из перечисления TypeCode для структуры Char, т.е. TypeCode.Charpublic static UnicodeCategory GetUnicodeCategory(char c)Возвращает значение из перечисления UnicodeCategory для символа с. Перечисление UnicodeCategory определено в пространстве имен System.Globalization и распределяет символы уникода по категориямpublic static UnicodeCategory GetUnicodeCategory(string s, int index)Возвращает значение из перечисления UnicodeCategory для символа, доступного из строки по индексу s[index]. Перечисление UnicodeCategory определено в пространстве имен System.Globalization и распределяет символы уникода по категориямpublic static bool IsControl(char c)Возвращает логическое значение true, если символ с является управляющим, иначе возвращает логическое значение falsepublic static bool IsControl(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], является управляющим, иначе возвращает логическое значение falsepublic static bool IsDigit(char c)Возвращает логическое значение true, если символ с обозначает цифру, а иначе возвращает логическое значение falsepublic static bool IsDigit(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает цифру, а иначе возвращает логическое значение falsepublic static bool IsHighSurrogate(char c)Возвращает логическое значение true, если символьное значение с является действительным старшим суррогатом формата UTF-32, а иначе возвращает логическое значение falsepublic static bool IsHighSurrogate(string s, int Index)Возвращает логическое значение true, если символьное значение, доступное из строки по индексу s[index], является действительным старшим суррогатом формата UTF-32, а иначе возвращает логическое значение falsepublic static bool IsLetter(char c)Возвращает логическое значение true, если символ с обозначает букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsLetter(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsLetterOrDigit(char c)Возвращает логическое значение true, если символ с обозначает букву алфавита или цифру, а иначе возвращает логическое значение falsepublic static bool IsLetterOrDigit(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает букву алфавита или цифру, а иначе возвращает логическое значение falsepublic static bool IsLower(char c)Возвращает логическое значение true, если символ с обозначает строчную букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsLower(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает строчную букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsLowSurrogate(char c)Возвращает логическое значение true, если символьное значение с является действительным младшим суррогатом формата UTF-32, а иначе возвращает логическое значение falsepublic static bool IsLowSurrogate(string s, int index)Возвращает логическое значение true, если символьное значение, доступное из строки по индексу s[index], является действительным младшим суррогатом формата UTF-32, а иначе возвращает логическое значение falsepublic static bool IsNumber(char c)Возвращает логическое значение true, если символ с обозначает число (десятичное или шестнадцатеричное), а иначе возвращает логическое значение falsepublic static bool IsNumber(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает число (десятичное или шестнадцатеричное), а иначе возвращает логическое значение falsepublic static bool IsPunctuation(char c)Возвращает логическое значение true, если символ с обозначает знак препинания, а иначе возвращает логическое значение falsepublic static bool IsPunctuation(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает знак препинания, а иначе возвращает логическое значение falsepublic static bool IsSeparator(char c)Возвращает логическое значение true, если символ с обозначает разделительный знак, а иначе возвращает логическое значение falsepublic static bool IsSeparator(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает разделительный знак, а иначе возвращает логическое значение falsepublic static bool IsSurrogate(char c)Возвращает логическое значение true, если символьное значение с является суррогатным символом уникода, а иначе возвращает логическое значение falsepublic static bool IsSurrogate(string s, int index)Возвращает логическое значение true, если символьное значение, доступное из строки по индексу s[index], является суррогатным символом уникода, а иначе возвращает логическое значение falsepublic static bool IsSurrogatePair(char highSurrogate, char lowSurrogate)Возвращает логическое значение true, если символьные значения highSurrogate и lowSurrogate образуют суррогатную паруpublic static bool IsSymbol(char c)Возвращает логическое значение true, если символ с обозначает символический знак, например денежной единицы, а иначе возвращает логическое значение falsepublic static bool IsSymbol(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает символический знак, например денежной единицы, а иначе возвращает логическое значение falsepublic static bool IsUpper(char c)Возвращает логическое значение true, если символ с обозначает прописную букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsUpper(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает прописную букву алфавита, а иначе возвращает логическое значение falsepublic static bool IsWhiteSpace(char с)Возвращает логическое значение true, если символ с обозначает пробел, табуляцию или пустую строку, а иначе возвращает логическое значение falsepublic static bool IsWhiteSpace(string s, int index)Возвращает логическое значение true, если символ, доступный из строки по индексу s[index], обозначает пробел, табуляцию или пустую строку, а иначе возвращает логическое значение falsepublic static char Parse(string s)Возвращает эквивалент типа char символа из строки s. Если строка s состоит из нескольких символов, то генерируется исключение FormatExceptionpublic static char ToLower(char c)Возвращает строчный эквивалент символа с, если он обозначает прописную букву. В противном случае значение символа с не изменяетсяpublic static char ToLowerfchar c, CultureInfo culture)Возвращает строчный эквивалент символа с, если он обозначает прописную букву. В противном случае значение символа с не изменяется. Преобразование выполняется в соответствии с информацией о культурной среде, указываемой в параметре culture, где CultureInfo — это класс, определенный в пространстве имен System.Globalizationpublic static char ToLowerInvariant(char c)Возвращает строчный эквивалент символа с независимо от настроек культурной средыpublic override string ToString()Возвращает строковое представление значения вызывающего объекта типа Charpublic static string ToString(char c)Возвращает строковое представление символьного значения сpublic string ToString(IFormatProvider provider)Возвращает строковое представление значения вызывающего объекта типа Char с учетом информации о культурной среде, указываемой в параметре providerpublic static char ToUpper(char c)Возвращает прописной эквивалент символа с, если он обозначает строчную букву. В противном случае значение символа с не изменяетсяpublic static char ToUpper(char c, CultureInfo culture)Возвращает прописной эквивалент символа с, если он обозначает строчную букву. В противном случае значение символа с не изменяется. Преобразование выполняется в соответствии с информацией о культурной среде, указываемой в параметре culture, где CultureInfo — это класс, определенный в пространстве имен System. Globalizationpublic static char ToUpperInvariant(char c)Возвращает прописной эквивалент символа с независимо от настроек культурной средыpublic static bool TryParse(string s, out char result)Предпринимает попытку преобразовать символ из строки s в его эквивалентное значение типа char. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true. Если же строка s состоит из нескольких символов, то возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования