Лекция 8. Строки
Для работы со строками в языке C# существует несколько возможностей:
o используя символьный тип char(символ), который соответствует классу System.Char, для организации строки – массив символов типа char, который соответствует классу System.Array
o используя строки типа string
o используя строки типа StringBuilder
Работа с символами в С#
Символьный тип char предназначен для хранения символов в кодировке Unicode. Символьный тип относится к встроенным типам данных C# и соответствует классу System.Char. В этом классе определены статические методы, позволяющие задать вид и категорию символа, а также преобразовать символ в верхний или нижний регистр и в число. В таблице 8.1 представлены основные методы класса System.Char.
Таблица 8.1 – Основные методы класса System.Char
Метод | Описание |
GetNumericValue | Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае |
GetUnicodeCategory | Возвращает категорию Unicode-символа(Bce Unicode-символы разделены на категории, например, десятичные цифры (Decimal-DigitNumber), римские цифры (LetterNumber), разделители строк (LineSeparator), буквы в нижнем регистре (LowercaseLetter) и т. д.) |
IsControl | Возвращает true, если символ является управляющим |
IsDigit | Возвращает true, если символ является десятичной цифрой |
IsLetter | Возвращает true, если символ является буквой |
IsLetterOrDigit | Возвращает true, если символ является буквой или цифрой |
IsLower | Возвращает true, если символ задан в нижнем регистре |
IsNumber | Возвращает true, если символ является числом (десятичным или шестнадцатеричным) |
IsPunctuation | Возвращает true, если символ является знаком препинания |
IsSeparator | Возвращает true, если символ является разделителем |
Is Upper | Возвращает true, если символ записан в верхнем регистре |
IsWhiteSpace | Возвращает true, если символ является пробельным (пробел, перевод строки и возврат каретки) |
Parse | Преобразует строку в символ (строка должна состоять из одного символа) |
ToLower | Преобразует символ в нижний регистр |
ToUpper | Преобразует символ в верхний регистр |
MaxValue, MinValue | Возвращают символы с максимальным и минимальным кодами (эти символы не имеют видимого представления) |
Пример применения методов класса System.Char
using System;
namespace ConsoleApplicationl
{ class Classl
{ static void Main()
Try
{
char b = 'В', с = '\x63', d = '\u0032';
Console.WriteLine( "{0} {1} {2}",b,c,d);
Console.WriteLine("{0}{1}{2}",char.ToLower(b),char.ToUpper(c), char.GetNumericValue(d));
char a;
do
{
Console.Write( "Введите символ: " );
a = char.Parse( Console.ReadLine());
Console.WriteLine( "Введен символ {0}, его код - {1}", a, (int)a );
if (char.IsLetter(a)) Console.WriteLine("Буква");
if (char.IsUpper(a)) Console.WriteLine("Верхний peгистр");
if (char.IsLower(a)) Console.WriteLine("Нижний peгистр");
if (char.IsControl(a)) Console.WriteLine("Управляющий");
if (char.IsNumber(a)) Console.WriteLine("Число");
if (char.IsPunctuation(a)) Console.WгiteLine("Paздeлитeль");
}
while (a != 'q');
}
Catch
{
Console.WriteLine( "Возникло исключение" );
return;
} } } }
В приведенном примере вывод символа сопровождается его кодом в десятичном виде. Для вывода кода используется явное преобразование к целому типу. Явное преобразование из символов в строки и обратно в С# не существует, неявным же образом любой объект, в том числе и символ, может быть преобразован в строку, например:
string s = 'к' + 'о' + 'т'; // результат - строка "кот"
При вводе и преобразовании могут возникать исключительные ситуации, например, если пользователь введет пустую строку. Для «мягкого» завершения программы предусмотрена обработка исключений.
Дата добавления: 2015-08-21; просмотров: 622;