Длинное целое (long)
Беззнаковое целое (unsigned)
Вещественное с одинарной точностью (float)
Вещественное с двойной точностью (double)
Финансовое десятичного типа (decimal)
Допустимые диапазоны значений целых и вещественных констант в зависимости от префикса мы рассмотрим немного позже в этой главе. Символьная константа представляет собой любой символ в кодировке Unicode. Символьные константы записываются в одной из четырех форм, представленных в табл. 2.2:
□ «обычный» символ, имеющий графическое представление (кроме апострофа
и символа перевода строки), — 'А', 'ю', '*';
□ управляющая последовательность — '\0', '\n';
□ символ в виде шестнадцатеричного кода — ' \xF', ' \х74';
символ в виде escape-последовательности Unicode — '\uA81B'.
Управляющей последовательностью, или простой escape-последовательностью, называют определенный символ, предваряемый обратной косой чертой. Управляющая последовательность интерпретируется как одиночный символ и используется для представления:
□ кодов, не имеющих графического изображения (например, \п — переход в на
чало следующей строки);
|
|
□ символов, имеющих специальное значение в строковых и символьных лите
ралах, например, апострофа '.
В табл. 2.4 приведены допустимые значения последовательностей. Если непосредственно за обратной косой чертой следует символ, не предусмотренный таблицей, возникает ошибка компиляции.
Таблица 2.4. Управляющие последовательности в С#
Вид | Наименование |
\а | Звуковой сигнал |
\b | Возврат на шаг |
\f | Перевод страницы (формата) |
\n | Перевод строки |
\г | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
\\ | Обратная косая черта |
\' | Апостроф |
\" | Кавычка |
\0 | Нуль-символ |
Символ, представленный в виде шестнадцатеричного кода, начинается с префикса \0х, за которым следует код символа. Числовое значение должно находиться в диапазоне от 0 до 216 - 1, иначе возникает ошибка компиляции.
Escape-последовательности Unicode служат для представления символа в кодировке Unicode с помощью его кода в шестнадцатеричном виде с префиксом \и или \U, например, \u00F2, \U00010011. Коды в диапазоне от \U10000 до \U10FFFF представляются в виде двух последовательных символов; коды, превышающие \U10FFFF, не поддерживаются.
Управляющие последовательности обоих видов могут использоваться и в строковых константах, называемых иначе строковыми литералами. Например, если требуется вывести несколько строк, можно объединить их в один литерал, отделив одну строку от другой символами \n:
"Никто не доволен своей \nвнешностью, но каждый доволен \nсвоим умом"
Этот литерал при выводе будет выглядеть так:
|
|
Никто не доволен своей
внешностью, но каждый доволен
своим умом
Другой пример: если внутри строки требуется использовать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку: "Издательский дом \"Питер\""
Как видите, строковые литералы с управляющими символами несколько теряют в читабельности, поэтому в С# введен второй вид литералов — дословные литералы (verbatim strings). Эти литералы предваряются символом @, который отключает обработку управляющих последовательностей и позволяет получать строки в том виде, в котором они записаны. Например, два приведенных выше литерала в дословном виде выглядят так:
@"Никто не доволен своей
внешностью, но каждый доволен
своим умом"
@"Издательский дом "Питер""
Чаще всего дословные литералы применяются в регулярных выражениях и при задании полного пути файла, поскольку в нем присутствуют символы обратной косой черты, которые в обычном литерале пришлось бы представлять с помощью управляющей последовательности. Сравните два варианта записи одного и того же пути:
"C:\\app\\bin\\debug\\a.exe" @"С:\app\bin\debug\a.ехе"
Строка может быть пустой (записывается парой смежных двойных кавычек ""), пустая символьная константа недопустима.
Константа null представляет собой значение, задаваемое по умолчанию для величин так называемых ссылочных типов, которые мы рассмотрим далее в этой главе.