Основы языка C# 2005. Евсеева О.Н - 108 стр.

UptoLike

Составители: 

112
public void TestChar()
{
char ch1 = 'A', ch2 = '\x5A', ch3 = '\u0058';
char ch = new Char();
int code;
string s;
ch = ch1;
//преобразование символьного типа в тип int
code = ch;
ch1 = (char) (code + 1);
//преобразование символьного типа в строку
//s = ch;
s = ch1.ToString() + ch2.ToString() + ch3.ToString();
Console.WriteLine("s= {0}, ch= {1}, code = {2}", s, ch, code);
} //TestChar
Три символьные переменные инициализированы константами, значения
которых заданы тремя разными способами. Переменная ch объявляется в
объектном стиле, используя new и вызов конструктора класса. Тип char, как и
все типы C#, является классом. Этот класс наследует свойства и методы класса
Object и имеет большое число собственных методов.
Явные или неявные преобразования между классами char и string
отсутствуют, но, благодаря методу ToString, переменные типа char стандартным
образом преобразуются в тип string. Как отмечалось выше, существуют
неявные преобразования типа char в целочисленные типы, начиная с типа
ushort. Обратные преобразования целочисленных типов в тип char также
существуют, но они уже явные.
В результате работы процедуры TestChar строка s, полученная
сцеплением трех символов, преобразованных в строки, имеет значение BZX,
переменная ch равна A, а ее кодпеременная code65.
Не раз отмечалось, что семантика присваивания справедлива при вызове
методов и замене формальных аргументов на фактические. Приведем две
процедуры, выполняющие взаимно-обратные операцииполучение по коду
символа и получение символа по его коду:
public int SayCode(char sym)
{
return sym;
}//SayCode
public char SaySym(object code)
{
return (char)((int)code);
}// SaySym