- •3. Строки
- •3.1. Класс System.String
- •3.1.1. Форматирование и синтаксический анализ
- •If (Char.IsPunctuation(s1[I]) | Char.IsWhiteSpace(s1[I]))
- •3.1.2. Доступ к отдельным элементам строки
- •3.1.3. Смена регистра в строке
- •3.1.4. Объединение нескольких строк
- •3.1.5. Разделение строк на подстроки
- •3.2. Класс System.Text.StringBuilder
- •3.3. Структура System.Char
3.3. Структура System.Char
(http://msdn.microsoft.com/ru-ru/library/system.char.aspx)
Таблица 3.3. Основные поля и методы структуры Char.
Имя |
Описание |
Поля |
|
MaxValue |
Представляет наибольшее возможное значение типа Char. Это поле является константой. |
MinValue |
Представляет наименьшее возможное значение типа Char. Это поле является константой. |
Методы |
|
CompareTo(ch); |
Сравнивает текущий символ с заданным символом (ch) (в порядке сортировки) и возвращает целое число (Int32): – отрицательное число, если текущий символ предшествует ch; – ноль, если текущий символ и ch имеют одну и ту же позицию в порядке сортировки; – положительное число, если текущий символ стоит после ch. |
GetNumericValue(ch); GetNumericValue(s,i); |
Преобразует указанный числовой символ Unicode (ch – символьное представление цифры) или такой символ в указанной позиции (i) заданной строки (s) в число двойной точности с плавающей запятой. |
GetUnicodeCategory(ch); GetUnicodeCategory(s,i); |
Относит указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к группе, определенной одним из значений перечисления System.Globalization.UnicodeCategory (возвращая соответствующее строковое значение): "UppercaseLetter" – буква верхнего регистра; "LowercaseLetter" – буква нижнего регистра; "DecimalDigitNumber" – знак десятичной цифры в диапазоне от 0 до 9; "LetterNumber" – число, представленное буквой вместо десятичной цифры; например, обозначение римской цифры пять – "V"; "SpaceSeparator" – символ пробела; "LineSeparator" – символ, используемый для разделения строк текста; "ParagraphSeparator" – символ, используемый для разделения абзацев; "Control" – управляющий символ кода со значением в Unicode, равным U+007F либо находящемся в диапазоне от U+0000 до U+001F или от U+0080 до U+009F (например, ACK, BEL, CR, FF, LF и VT); "ConnectorPunctuation" – знак пунктуации, являющийся соединителем двух знаков (_); "DashPunctuation" – знак тире или дефиса; "OpenPunctuation" – открывающий символ для одного из парных пунктуационных знаков, таких как круглые, квадратные и фигурные скобки; "ClosePunctuation" – закрывающий символ для одного из парных пунктуационных знаков, таких как круглые, квадратные и фигурные скобки; "InitialQuotePunctuation" – открывающий или начальный знак кавычки («); "FinalQuotePunctuation" – закрывающий или заключительный знак кавычки (»); "OtherPunctuation" – знак пунктуации, который не является соединителем, тире, открывающим или закрывающим знаком пунктуации, начальной или заключительной кавычкой (!@#%&*;:’.,”/?\); "MathSymbol" – математические символы (+=~<>); "CurrencySymbol" – символ денежной единицы ($); "ModifierSymbol" – символ модификатора, который указывает на изменения окружающих его символов (^`); "OtherSymbol" – символ, который не является математическим символом, символом денежной единицы или символом модификатора (№). |
IsControl(ch); IsControl(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к катего-рии управляющих символов (возвращает true или false). |
IsDigit(ch); IsDigit(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории десятичных цифр (возвращает true или false). |
IsLetter(ch); IsLetter(s,i); |
Показывает, относится ли указанный знак Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории букв Unicode (возвращает true или false). |
IsLetterOrDigit(ch); IsLetterOrDigit(s,i); |
Показывает, относится ли указанный знак Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории букв или десятичных цифр (возвращает true или false). |
IsLower(ch); IsLower(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории букв нижнего регистра (возвращает true или false). |
IsNumber(ch); IsNumber(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории цифр (возвращает true или false). |
IsPunctuation(ch); IsPunctuation(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории знаков препинания (возвращает true или false). |
IsSeparator(ch); IsSeparator(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории знаков-разделителей (возвращает true или false). |
IsSymbol(ch); IsSymbol(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории символьных знаков (возвращает true или false). |
IsUpper(ch); IsUpper(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории букв верхнего регистра (возвращает true или false). |
IsWhiteSpace(ch); IsWhiteSpace(s,i); |
Показывает, относится ли указанный символ Unicode (ch) или символ в указанной позиции (i) заданной строки (s) к категории пробелов (возвращает true или false). |
Parse(s); |
Преобразует значение указанной строки (s), содержащей один знак или null, в эквивалентный символ Unicode. |
ToLower(ch); ToUpper(ch); |
Преобразует значение символа Unicode (ch) в его эквива-лент соответственно в нижнем или верхнем регистре. |
ToString(); ToString(ch); |
Преобразует значение текущего или указанного символа Unicode (ch) в эквивалентное ему строковое представление. |
TryParse(s, out ch); |
Преобразует значение указанной строки (s), содержащей один знак или null, в эквивалентный возвращаемый символ Unicode (ch). Метод возвращает значение true или false, указывающее, успешно ли выполнено преобразование. |
Пример 3.10. Применение методов CompareTo, GetNumericValue, GetUnicodeCategory, IsControl, IsDigit, IsLetter, IsLetterOrDigit, IsLower, IsNumber, IsPunctuation, IsSeparator, IsSymbol, IsUpper, IsWhiteSpace, Parse, ToLower, ToUpper, ToString, TryParse объекта Char.
using System;
public class CharStructureSample
{ public static void Main()
{ char chA = 'A';
char ch1 = '1';
string st = "G";
string str = "Test string";
Console.WriteLine(chA.CompareTo('B'));
// Вывод: "-1" (значение 'A' меньше чем 'B')
Console.WriteLine(Char.GetNumericValue(ch1)); // Вывод: "1"
Console.WriteLine(Char.GetUnicodeCategory(ch1));
// Вывод: "DecimalDigitNumber"
Console.WriteLine(Char.GetUnicodeCategory(str, 0));
// Вывод: "UppercaseLetter"
Console.WriteLine(Char.IsControl('\t')); // Вывод: "True"
Console.WriteLine(Char.IsDigit(ch1)); // Вывод: "True"
Console.WriteLine(Char.IsLetter(',')); // Вывод: "False"
Console.WriteLine(Char.IsLetterOrDigit(ch1)); // Вывод: "True"
Console.WriteLine(Char.IsLower('u')); // Вывод: "True"
Console.WriteLine(Char.IsNumber(ch1)); // Вывод: "True"
Console.WriteLine(Char.IsPunctuation('.')); // Вывод: "True"
Console.WriteLine(Char.IsSeparator(str, 4)); // Вывод: "True"
Console.WriteLine(Char.IsSymbol('+')); // Вывод: "True"
Console.WriteLine(Char.IsUpper('G')); // Вывод: "True"
Console.WriteLine(Char.IsWhiteSpace(str, 4)); // Вывод: "True"
Console.WriteLine(Char.Parse("S")); // Вывод: "S"
Console.WriteLine(Char.ToLower(chA)); // Вывод: "a"
Console.WriteLine(Char.ToUpper('m')); // Вывод: "M"
Console.WriteLine('x'.ToString()); // Вывод: "x"
Console.WriteLine("{0} {1}", Char.TryParse(st, out ch1), ch1);
// Вывод: "True G"
Console.ReadLine();
}
}
