Основы программирования на C#

Символы и строки постоянной длины в C#


Класс Char, как и все классы в C#, наследует свойства и методы родительского класса Object. Но у него есть и собственные методы и свойства, и их немало. Сводка этих методов приведена в таблице 13.1.

Большинство статических методов перегружены. Они могут применяться как к отдельному символу, так и к строке, для которой указывается номер символа для применения метода. Основную группу составляют методы Is, крайне полезные при разборе строки. Приведу примеры, в которых используются многие из перечисленных методов:

public void TestCharMethods() { Console.WriteLine("Статические методы класса char:"); char ch='a', ch1='1', lim =';', chc='\xA'; double d1, d2; d1=char.GetNumericValue(ch); d2=char.GetNumericValue(ch1); Console.WriteLine("Метод GetNumericValue:"); Console.WriteLine("sym 'a' - value {0}", d1); Console.WriteLine("sym '1' - value {0}", d2); System.Globalization.UnicodeCategory cat1, cat2; cat1 =char.GetUnicodeCategory(ch1); cat2 =char.GetUnicodeCategory(lim); Console.WriteLine("Метод GetUnicodeCategory:"); Console.WriteLine("sym '1' - category {0}", cat1); Console.WriteLine("sym ';' - category {0}", cat2); Console.WriteLine("Метод IsControl:"); Console.WriteLine("sym '\xA' - IsControl - {0}", char.IsControl(chc)); Console.WriteLine("sym ';' - IsControl - {0}", char.IsControl(lim)); Console.WriteLine("Метод IsSeparator:"); Console.WriteLine("sym ' ' - IsSeparator - {0}", char.IsSeparator(' ')); Console.WriteLine("sym ';' - IsSeparator - {0}", char.IsSeparator(lim)); Console.WriteLine("Метод IsSurrogate:"); Console.WriteLine("sym '\u10FF' - IsSurrogate - {0}", char.IsSurrogate('\u10FF')); Console.WriteLine("sym '\\' - IsSurrogate - {0}", char.IsSurrogate('\\')); string str = "\U00010F00"; //Символы Unicode в интервале [0x10000,0x10FFF] //представляются двумя 16-битными суррогатными символами Console.WriteLine("str = {0}, str[0] = {1}", str, str[0]); Console.WriteLine("str[0] IsSurrogate - {0}", char.IsSurrogate(str, 0)); Console.WriteLine("Метод IsWhiteSpace:"); str ="пробелы, пробелы!" + "\xD" + "\xA" + "Всюду пробелы!"; Console.WriteLine("sym '\xD ' - IsWhiteSpace - {0}", char.IsWhiteSpace('\xD')); Console.WriteLine("str: {0}", str); Console.WriteLine("и ее пробелы - символ 8 {0},символ 17 {1}", char.IsWhiteSpace(str,8), char.IsWhiteSpace(str,17)); Console.WriteLine("Метод Parse:"); str="A"; ch = char.Parse(str); Console.WriteLine("str:{0} char: {1}",str, ch); Console.WriteLine("Минимальное и максимальное значение:{0}, {1}", char.MinValue.ToString(), char.MaxValue.ToString()); Console.WriteLine("Их коды: {0}, {1}", SayCode(char.MinValue), SayCode(char.MaxValue)); }//TestCharMethods



Содержание раздела