Краткие теоретические сведения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Краткие теоретические сведения



Структура Сhar. Структура System.Сhar в библиотеке классов FCL используется для представления символа в стандарте Unicode. Значением объекта типа Charявляется 16-битовое числовое (порядковое) значение. Структура Char предоставляет ряд методов для выполнения различных операций над объектами этого типа, таких как сравнение, преобразование значения текущего объекта типа Char
в объект другого типа, определение категории Unicode объекта и др. Наиболее часто используемые методы и свойства структуры Charприведены в табл. 1.1, а примеры их применения показаны в листингах 1.1, 1.2 и на рис. 1.1, 1.2.

 

Таблица 1.1

Методы и свойства структуры Char

 

Название метода (свойства) Описание

Статические методы

GetNumericValue Возвращает численное значение символа, если он яв-ляется цифрой, и –1 в противном случае
GetUnicodeCategory Возвращает значение Unicode категории символа, определяемое перечислением UnicodeCategory
IsControl Возвращает значение   true, если символ является управляющим
IsDigit Возвращает значение true, если символ является десятичной цифрой
IsLetter Возвращает значение true, если символ является буквой
IsLetterOrDigit Возвращает значение true, если символ является буквой или цифрой
IsLower Возвращает значение true, если символ задан в нижнем регистре

Окончание табл. 1.1

Название метода (свойства) Описание
IsNumber Возвращает значение true, если символ является числом (десятичной или шестнадцатеричной цифрой)
IsPunctuation Возвращает значение true, если символ является знаком препинания
IsSeparator Возвращает значениеtrue, если символ является разделителем
IsSurrogate Некоторые символы Unicode с кодом в интервале [0x1000, 0x10FFF] представляются двумя 16-бит-ными суррогатными символами. Метод возвращает значениеtrue, если символ является суррогатным
IsUpper Возвращает значениеtrue, если символ задан в верхнем регистре
IsWhiteSpace Возвращает значениеtrue, если символ является белым пробелом. К белым пробелам, помимо пробела, относятся и другие символы, например символ конца строки и символ перевода каретки
Parse Преобразует строку в символ, при этом строка должна состоять из одного символа, иначе возникнет ошибка
ToLower Приводит символ к нижнему регистру
ToUpper Приводит символ к верхнему регистру

Свойства

MaxValue, MinValue Возвращают символы с максимальным и минимальным кодом. Возвращаемые символы не имеют видимого образа

Динамические методы

Equals(Object obj)   Возвращает значениеtrue, если параметр obj является экземпляром типа Char и равен значению данного экземпляра; в противном случае возвращает значение false
CompareTo(Char) Сравнивает данный экземпляр с заданным объектом типа Char, и показывает, расположен ли данный экземпляр перед, после или на той же позиции в порядке сортировки, что и заданный объект

 

Листинг 1.1. Использование статических методов класса С har

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

Namespace TestCharMethods

{

class Program

{

   static void Main(string[ ] args)

   {

       Char a = ' Я ',ch = 'a', ch1 = '1', lim = ';', chc = '\xA';;

// Вывод кодов символов

     Console.WriteLine("a = {0}, код символа = {1}", a, (int)a);

       Console.WriteLine("Статические методы класса Сhar:");

       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;

// Вывод значений категорий символов

     cat 1 = char. GetUnicodeCategory (ch 1);

       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('\\'));

       Console.WriteLine(" Метод Parse:");

       string str = " A ";

      // Преобразование строки str в символ

       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}", (int)char.MinValue,

         (int)char.MaxValue);

         Console.ReadLine();

   }

}

}

 

 

Рис. 1.1. Вывод программы из листинга 1.1

Листинг 1.2. Использование методов Equals и CompareTo класса С har

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace сравнение _ символов

{

class Program

{

   static void Main(string[] args)

   {

      char chA = 'A', chB = 'B';

     // Применение метода Equals для сравнения символов

      Console.WriteLine(" Метод Equals");

      Console.WriteLine(chA.Equals('A'));        

      Console.WriteLine('b'.Equals(chB));         

      char ch1, ch2;

      int dif;

      Console.WriteLine(" Метод CompareTo");

      ch1 = 'A'; ch2 = 'Z';

      dif = ch1.CompareTo(ch2);

      Console.WriteLine(" Расстояние между символами {0}, {1} = {2}",

      ch1, ch2, dif);

      dif = chB.CompareTo(chA);

      Console.WriteLine(" Расстояние между символами {0}, {1} = {2}",

      chB, chA,  dif);

       Console.ReadLine();

   }

}

}

 

Рис. 1.2. Вывод программы из листинга 1.2

 

Класс String. Класс String представляет текст как последовательность знаков Unicode. Объект класса String является упорядоченной коллекцией объектов класса Char, представляющей строку. Объект класса String называется неизменяемым, т. е. доступным только для чтения, поскольку после создания его значение не может быть
изменено. Методы, применяемые для изменения объекта String, на самом деле возвращают новый объект String, содержащий измененные данные. Если необходимо изменить фактическое содержимое объекта, то следует использовать класс System.Text.StringBuilder.

При создании объектов класса String можно использовать перегруженные конструкторы (листинг 1.3).

 

 

Листинг 1.3. Примеры применения перегруженных конструкторов класса String

 

// Инициализация объекта world строковой константой

// Конструктор не вызывается

       string world = " Язык C#"; // world =" Язык C#"

          // Вызов конструктора для инициализации строки s1

// значением, полученным путем повторения

// символа K 6 раз

string s1 = new string('K', 6); // s1 = KKKKKK

 

          // Создание массива символов с именем s2 путем

// преобразования строковой константы "Привет"

// в массив символов

       char[ ] s2 = "Привет".ToCharArray ();

       // Вызов конструктора для инициализации нового

// экземпляра класса String c именем s3 значением, заданным

// в виде массива знаков Unicode

string s3 = new string(s2); // s3 = Привет

// Вызов конструктора для инициализации нового экземпляр

// класса String c именем s4 значением, заданным массивом

// знаков Unicode с именем s2,

// начальной позицией знака в пределах данного массива и длиной

string s4 = new string(s2, 0, 2); // s4 = Пр

Класс String предоставляет члены для сравнения объектов, возврата индекса знака или строки в объекте String, копирования значения объекта, разделения или объединения строк, изменения значения строки, форматирования чисел, значений даты и времени, значений из перечисления в виде строки, а также нормализации строки (табл. 1.2).

 

Таблица 1.2



Поделиться:


Последнее изменение этой страницы: 2022-09-03; просмотров: 34; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.125.219 (0.028 с.)