Net framework 5, а также среды Visual Studio 2012 и C#


Часть III Основные типы данных



Download 6,27 Mb.
Pdf ko'rish
bet256/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   252   253   254   255   256   257   258   259   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

Часть III
Основные типы данных
Глава 14.
 символы, строки и обработка текста
. 356
Глава 15.
 Перечислимые типы и битовые флаги
403
Глава 16.
 Массивы
. 416
Глава 17.
 делегаты
434
Глава 18.
 настраиваемые атрибуты
464
Глава 19.
 Null-совместимые значимые типы
. 485


Глава 14.
 символы, строки 
и обработка текста
Эта глава посвящена приемам обработки отдельных символов, а также целых строк 
в Microsoft .NET Framework. Вначале рассматриваются структура 
System.Char
и способы работы с символами. Потом мы перейдем к весьма полезному классу 
System.String
, предназначенному для работы с неизменяемыми строками (такую 
строку можно создать, но не изменить). Затем рассказывается о динамическом 
построении строк с помощью класса 
System.Text.StringBuilder
. Разобравшись 
с основами работы со строками, мы обсудим вопросы форматирования объектов 
в строки и эффективного сохранения и передачи строк в различных кодировках. 
В конце главы рассказывается о классе 
System.Security.SecureString
, который 
может использоваться для защиты конфиденциальных строк данных, таких как 
пароли и номера кредитных карт.
символы
Символы в .NET Framework всегда представлены 16-разрядными кодами стандарта 
Юникод, что облегчает разработку многоязыковых приложений. Символ пред-
ставляется экземпляром структуры 
System.Char
(значимый тип). Тип 
System.Char
довольно прост, у него лишь два открытых неизменяемых поля: константа 
MinValue

определенная как 
'\0'
, и константа 
MaxValue
, определенная как 
'\uffff'
.
Для экземпляра 
Char
можно вызывать статический метод 
GetUnicodeCategory

который возвращает значение перечислимого типа 
System.Globalization.
UnicodeCategory
, показывающее категорию символа: управляющий символ, символ 
валюты, буква в нижнем или верхнем регистре, знак препинания, математический 
символ и т. д. (в соответствии со стандартом Юникод).
Для облегчения работы с типом 
Char
имеется несколько статических методов, 
например: 
IsDigit

IsLetter

IsWhiteSpace

IsUpper

IsLower

IsPunctuation

Is-
LetterOrDigit

IsControl

IsNumber

IsSeparator

IsSurrogate

IsLowSurrogate

IsHighSurrogate
и 
IsSymbol
. Большинство этих методов обращается 
к 
GetUnicodeCategory
и возвращает 
true
или 
false
. В параметрах этих методов 
передается либо одиночный символ, либо экземпляр 
String
и индекс символа 
в строке.
Кроме того, статические методы 
ToLowerInvariant
и 
ToUpperInvariant
по-
зволяют преобразовать символ в его эквивалент в нижнем или верхнем регистре 


357
Символы
без учета региональных стандартов. Для преобразования символа с учетом регио-
нальных стандартов (culture), относящихся к вызывающему потоку (эти сведения 
методы получают, запрашивая статическое свойство 
CurrentCulture
типа 
System.
Globalization.CultureInfo
), служат методы 
ToLower
и 
ToUpper
. Чтобы задать 
конкретный набор региональных стандартов, передайте этим методам экземпляр 
класса 
CultureInfo
. Данные о региональных стандартах необходимы методам 
ToLower
и 
ToUpper
, поскольку от них зависит результат операции изменения ре-
гистра буквы. Например, в турецком языке символ U+0069 (латинская строчная 
буква i) при переводе в верхний регистр становится символом U+0130 (латинская 
прописная буква I с надстрочной точкой), тогда как в других языках — это символ 
U+0049 (латинская прописная буква I).
Помимо перечисленных статических методов, у типа 
Char
есть также несколь-
ко собственных экземплярных методов. Метод 
Equals
возвращает 
true
, если два 
экземпляра 
Char
представляют один и тот же 16-разрядный символ Юникода. Ме-
тод 
CompareTo
(определенный в интерфейсах 
IComparable
и 
IComparable

сравнивает два кодовых значения без учета региональных стандартов. Метод 
Con-
vertFromUtf32
создает строку, состоящую из одного или двух символов UTF-16, 
для одного символа UTF-32. Метод 
ConvertToUtf32
создает символ UTF-32 для 
суррогатной пары или строки. Метод 
ToString
возвращает строку, состоящую из 
одного символа, тогда как 
Parse
и 
TryParse
получают односимвольную строку 
String
и возвращают соответствующую кодовую позицию UTF-16.
Наконец, метод 
GetNumericValue
возвращает числовой эквивалент символа. 
Это можно продемонстрировать на следующем примере:
using System;
public static class Program {
public static void Main() {
Double d; // '\u0033' – это "цифра 3"
d = Char.GetNumericValue('\u0033'); // Параметр '3'
// даст тот же результат
Console.WriteLine(d.ToString()); // Выводится "3"
// '\u00bc' — это "простая дробь одна четвертая ('1/4')"
d = Char.GetNumericValue('\u00bc');
Console.WriteLine(d.ToString()); // Выводится "0.25"
// 'A' — это "Латинская прописная буква A"
d = Char.GetNumericValue('A');
Console.WriteLine(d.ToString()); // Выводится "-1"
}
}
А теперь представлю в порядке предпочтения три способа преобразования раз-
личных числовых типов в экземпляры типа 
Char
, и наоборот.
‰

Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   252   253   254   255   256   257   258   259   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish