Под типом char подразумевают 1 символ. Любой символ: цифру, букву (лат./кир.), знак.
[code]
char x = 'd'; //Обязательно через апострофы
[/code]
Если записать в кавычках, то это воспринимается компьютером, как строка, хоть и символ всего 1.
[code]
char x = "d"; //Ошибка
[/code]
Каждый символ имеет свой порядковый номер в некой таблице под названием ASCII.
American
Standard
Code for
Information
Interchange — американский стандартный код для обмена информацией
На рисунке представлена только часть этой таблицы, которая не меняется никогда с времён появления данной кодировки.

Для того, чтобы получить порядковый номер заглавной латинской буквы "А", необходимо сделать приведение к любому числовому типу.
[code]
char x = 'A';
byte b = (byte)x; //Здесь будет 65 для буквы 'A'
char y = 'Z';
byte m = (byte)y; //Здесь будет 90 для буквы 'Z'
[/code]
Можно и так:
[code]
byte b = (byte)'A'; //Получите число 65
byte x = (byte)'B'; //Получите число 66
[/code]
Цифры тоже входят в эту таблицу. Например, цифра 9 в таблице имеет код 57
Так же получить один символ из строки можно следующим образом (например, нужен первый символ строки):
[code]
string s = "Здесь произвольный текст";
char f = s[0]; //Получить первую букву строки.
[/code]
Для получения символа из кода таблицы ASCII необходимо числовое значение привести к char-типу. Допустим, найдите по таблице код 47. Это символ "/".
[code]
byte n = 47;
char c = (char)n;
[/code]
Можно и так:
[code]
char c = (char)47; //Получите символ '/'
[/code]
Интересно заметить, что char - универсальный тип и использовать его можно вместе с математикой. Например, надо определить, какая буква в алфавите находится через 4 буквы после буквы А
[code]
char x = 'A';
char z = (char)(x + 4); //Ответ: Е
[/code]
Необходимо заместить, что приведение к типу char должно быть применено ко всему выражению x + 4. Поэтому оно в скобках
[code]
char z = (char)x + 4; //Ошибка
[/code]
Ещё один пример. Показать предыдущую букву с конца алфавита прописных букв.
Последняя буква, это 'z'. Её код: 122.
[code]
char ch = (char)('z' - 1);
[/code]
Это сокращённая запись в 1 строку. Имя переменной ch может быть любым. Не обязательно 'ch'
Символы с 0-31 - это технические символы.
Например:
[code]
Console.WriteLine((char)7);
//Вместо печати символа вы услышите звук
Console.WriteLine((char)10);
//Вместо печати символа сработает перенос курсора на строку ниже
[/code]
Символы с 128 по 255 - это расширенная таблица ASCII. Она различная для различных кодировок.
В следующем рисунке представлена основная (базовая) часть в левой верхней части.
А в остальных 3 различные типы кодировок

В данной таблице коды представлены в виде таблицы из
16-ричных значений (десятки по вертикали и единицы по горизонтали).
Для быстрого перевода из 16-ричной системы в 10-ную можно использовать обычный калькулятор вашей системы в режиме "Программист" (
подробнее).
Для ввода таких символов на клавиатуре используется Alt и ввод символа.
Например, символ █ на клавиатуре набирается так:
1) Зажать Alt
2) Ввести 219
3) Отпустить Alt
Но с char не всё так просто. Этот тип использует не 8-битную таблицу кодов, а 16-битную.
Его минимальное значение - 0
Максимальное - 65535.
И, скажем, узнать код этого символа в консоли с помощью следующего кода не получится. Будет ошибка:
[code]
byte b = (byte)'█';
[/code]
Данный символ выходит за тип byte и использовать нужно ushort (числа от 0 до 65535). Подробнее о
целочисленных типах
Поэтому пишем так:
[code]
ushort b = (ushort)'█'; //И в b попадёт значение 9608
Console.WriteLine(b); //При желании можно вывести это на экран
[/code]
Соответственно, обратный вариант:
[code]
char x = (char)9608;
Console.WriteLine(x);
[/code]
И на экране будет:
Дополнительная информация о том, как вывести результат в
консоли или
WinForm