Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

Методы, определенные в структуре 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

<
Поделиться:
Популярные книги

Гранд империи

Земляной Андрей Борисович
3. Страж
Фантастика:
фэнтези
попаданцы
альтернативная история
5.60
рейтинг книги
Гранд империи

Взводный

Берг Александр Анатольевич
5. Антиблицкриг
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Взводный

Наследник павшего дома. Том IV

Вайс Александр
4. Расколотый мир
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том IV

Купец IV ранга

Вяч Павел
4. Купец
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Купец IV ранга

Двойня для босса. Стерильные чувства

Лесневская Вероника
Любовные романы:
современные любовные романы
6.90
рейтинг книги
Двойня для босса. Стерильные чувства

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Мама из другого мира. Чужих детей не бывает

Рыжая Ехидна
Королевский приют имени графа Тадеуса Оберона
Фантастика:
фэнтези
8.79
рейтинг книги
Мама из другого мира. Чужих детей не бывает

Сделай это со мной снова

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сделай это со мной снова

Аргумент барона Бронина

Ковальчук Олег Валентинович
1. Аргумент барона Бронина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аргумент барона Бронина

Найдёныш. Книга 2

Гуминский Валерий Михайлович
Найденыш
Фантастика:
альтернативная история
4.25
рейтинг книги
Найдёныш. Книга 2

Неудержимый. Книга XIV

Боярский Андрей
14. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIV

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Законы рода

Flow Ascold
1. Граф Берестьев
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Законы рода

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2