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');
}
{
Console.WriteLine( "Возникло исключение" );
return;
} } } }
В приведенном примере вывод символа сопровождается его кодом в десятичном виде. Для вывода кода используется явное преобразование к целому типу. Явное преобразование из символов в строки и обратно в С# не существует, неявным же образом любой объект, в том числе и символ, может быть преобразован в строку, например:
string s = 'к' + 'о' + 'т'; // результат - строка "кот"
При вводе и преобразовании могут возникать исключительные ситуации, например, если пользователь введет пустую строку. Для «мягкого» завершения программы предусмотрена обработка исключений.
Массив символов, как и массив любого иного типа, построен на основе базового класса Array, некоторые свойства и методы которого были перечислены в лекции 7. Применение этих методов позволяет эффективно решать задачи на обработку строк.
Пример обработки строк (как массива символов) с применением класса System.Array
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
char[] a = { 'm', 'a', 's', 's', 'i', 'v' }; //инициализация массива символов поэлементно
// ТоCharАггау()- метод класса string – разбивает строку на символы
char[] b = "а роза упала на лапу азора".ТоCharАггау();
PrintArray("Исходный массив а:", а );
int pos = Array.IndexOf( a, 'm' );
a[pos] = 'M';
PrintArray( "Измененный массив а:", а );
PrintArray( "Исходный массив b:", b );
Array.Reverse( b );
PrintArray( "Измененный массив b:", b );
}
public static void PrintArray( string s, Array a )
{
Console.WriteLine( s );
foreach ( object x in a ) Console.Write( x );
Console.WriteLine( ):
}}}
Тип string, предназначенный для работы со строками символов в кодировке Unicode, является встроенным типом С#. Ему соответствует базовый класс System.String библиотеки .NET.
Создать строку можно несколькими способами:
string s; // объявление строки, без выделения памяти
string t = "qqq"; // инициализация строковым литералом
string u = new string (' ', 20); // создание строки из 20 пробелов
char[] а = { '0', '0', '0' }; // создание строки как массива символов и ее инициализация
string v = new string (a); // создание строки из массива символов