C# 4.0 полное руководство - 2011 - Герберт Шилдт
Шрифт:
Интервал:
Закладка:
отбрасывается
Таблица 21.8. Поля, поддерживаемые структурой Decimal
Структура Char
Структура Char соответствует типу char и применяется довольно часто, поскольку предоставляет немало методов, позволяющих обрабатывать символы и распределять их по отдельным категориям. Например, символ строчной буквы можно преобразовать в символ прописной буквы, вызвав метод ToUpper (), а с помощью метода Is Digit () можно определить, обозначает ли символ цифру.
Методы, определенные в структуре Char, приведены в табл. 21.9. Следует, однако, иметь в виду, что некоторые методы, например ConvertFromUtf 32 () и ConvertToUtf 32 (), позволяют обрабатывать символы уникода в форматах 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 () применяются текущие настройки культурной среды (языки и региональные стандарты), чтобы указать способ представления символов верхнего и нижнего регистра. На момент написания этой книги рекомендовалось явно указывать текущие настройки культурной среды, используя для этой цели параметр типа Culturelnfo во второй форме обоих упоминаемых методов. Класс Culturelnfo относится к пространству имен System. Globalization, а для указания текущей культурной среды следует передать свойство Culturelnfo . CurrentCulture соответствующему методу.
В структуре Char определены также следующие поля.
public const char MaxValue public const char MinValue
Кроме того, в структуре Char реализуются следующие интерфейсы: I Comparable, IComparable<char>, IConvertible иIEquatable<char>.
Таблица 21.9. Методы, определенные в структуре Char
Метод
Назначение
public int CompareTo(char value)
public int CompareTo(object value)
public static string ConvertFromUtf32(int utf32)
Сравнивает символ в вызывающем объекте с символом value. Возвращает нуль, если сравниваемые символы равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значение Сравнивает символ в вызывающем объекте с символом value. Возвращает нуль, если сравниваемые символы равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет больщее значение Преобразует кодовую точку уникода, представленную параметром utf32 в формате UTF-32, в символьную строку формата UTF-16 и возвращает полученный результат
_Продолжение табл. 21.9
Метод
Назначение
pubic static int
Преобразует старший и младший суррогаты,
ConvertToUtf*32 (char
представленные параметрами highSurrogate
highSurrogate, char
и lowSurrogate в формате UTF-16, в кодовую
lowSurrogate)
точку формата UTF-32 и возвращает полученный результат
pubic static int
Преобразует пару суррогатов формата UTF-16,
ConvertToUtf32(string s, int
доступных из символьной строки по индексу
index)
s [index], в кодовую точку формата UTF-32 и возвращает полученный результат
public bool Equals(char obj)
Возвращает логическое значение true, если значение вызывающего объекта равно значению obj
public override bool
Возвращает логическое значение true, если зна
Equals(object obj)
чение вызывающего объекта равно значению obj
public override int
Возвращает хеш-код для вызывающего объекта
GetHashCode()
public static double
Возвращает числовое значение символа с, если
GetNumericValue(char c)
он обозначает цифру. В противном случае возвращает -1
public static double
Возвращает числовое значение символа, доступ
GetNumericValue(string s, int
ного из строки по индексу s [index], если он
index)
обозначает цифру. В противном случае возвращает -1
public TypeCode GetTypeCode()
Возвращает значение из перечисления TypeCode для структуры Char, т.е. TypeCode . Char
public static UnicodeCategory
Возвращает значение из перечисления
GetUnicodeCategory(char c)
UnicodeCategory для символа с. Перечисление UnicodeCategory определено в пространстве имен System.Globalization и распределяет символы уникода по категориям
public static UnicodeCategory
Возвращает значение из перечисления
GetUnicodeCategory(string s,
UnicodeCategory для символа, доступного
int index)
из строки по индексу s [index]. Перечисление UnicodeCategory определено в пространстве имен System.Globalization и распределяет символы уникода по категориям
public static bool
Возвращает логическое значение true, если сим
IsControl(char c)
вол с является управляющим, иначе возвращает логическое значение false
public static bool
Возвращает логическое значение true, если сим
IsControl(string s, int
вол, доступный из строки по индексу s [ index],
index)
является управляющим, иначе возвращает логическое значение false
public static bool
Возвращает логическое значение true, если
IsDigit(char c)
символ с обозначает цифру, а иначе возвращает логическое значение false
Метод
Назначение
public static bool
Возвращает логическое значение true, если сим
IsDigit(string s, int index)
вол, доступный из строки по индексу s [index],
обозначает цифру, а иначе возвращает логиче
ское значение false
public static bool
Возвращает логическое значение true, если
IsHighSurrogate(char c)
символьное значение с является действительным старшим суррогатом формата UTF-32, а иначе возвращает логическое значение false
public static bool
Возвращает логическое значение true, если сим
IsHighSurrogate(string
sr int
вольное значение, доступное из строки по индек
index)
су s [ index], является действительным старшим суррогатом формата UTF-32, а иначе возвращает логическое значение false
public static bool
Возвращает логическое значение true, если
IsLetter(char c)
символ с обозначает букву алфавита, а иначе возвращает логическое значение false
public static bool
Возвращает логическое значение true, если сим
IsLetter(string s, int
index)
вол, доступный из строки по индексу s [index], обозначает букву алфавита, а иначе возвращает логическое значение false