Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по С.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
92.9 Кб
Скачать

Литералы

В С# литералами называются фиксированные значения, представленные в понятной форме. Литералы также называют константами. С#-литералы могут иметь любой тип значений. Целочисленный литерал, в зависимости от конкретного значения, может иметь тип int , uint, long или ulong, с плавающей точкой имеют тип double.

Если тип, задаваемый по умолчанию в языке С#, не соответствует вашим намерениям в отношении типа конкретного литерала, вы можете явно определить его с помощью нужного суффикса. Чтобы задать литерал типа long, присоедините к его концу букву l или L.

Например, если значение 12 автоматически приобретает тип int, но значение 12L имеет тип long.

Чтобы определить целочисленное значение без знака, используйте суффикс u или U. Так, если значение 100 имеет тип int , но значение 100U — тип uint.

Для задания длинного целого без знака используйте суффикс ul или UL (например, значение 987 654UL будет иметь тип ulong).

Чтобы задать литерал типа float, используйте суффикс f или F (например, 10.19F).

Чтобы задать литерал типа decimal, используйте суффикс m или М (например, 9.95М).

Несмотря на то что целочисленные литералы создают int-, uint-, long- или ulong-значения по умолчанию, их тем не менее можно присваивать переменным типа byte, sbyte, short или ushort, если, конечно, они могут быть представлены соответствующим типом.

Шестнадцатеричный литерал должен начинаться с парысимволов 0х (нуля и буквы "х").

Приведем несколько примеров.

count = 0xFF; // 255 в десятичной системе

incr = 0xla; // 26 в десятичной системе

Управляющие последовательности символов

В С# предусмотрено несколько управляющих последовательностей символов (ESC-последовательностей), которые используются вместо символов.

ESC-последовательно

Описание

Звуковой сигнал (звонок)

\b

Возврат на одну позицию

\f

Подача страницы (для перехода к началу следующей страницы)

\n

Новая строка

\r

Возврат каретки

\t

Горизонтальная табуляция

\v

Вертикальная табуляция

\0

Нуль-символ

\’

Одинарная кавычка (апостроф)

\’’

Двойная кавычка

\\

Обратная косая черта

Например, следующая инструкция присваивает переменной ch символ табуляции:

ch = '\t';

А эта инструкция присваивает переменной ch символ одинарной кавычки:

ch = '\'';

Строковые литералы

Язык С# поддерживает еще один тип литерала: строковый. Строка — это набор символов, заключенных в двойные кавычки.

Например, фрагмент кода представляет собой строку : "Это тест"

В следующем примере используются такие ESC-последовательности, как \n, \ t и \".

using System;

class StrDemo {

public static void Main() {

Console.WriteLine("Первая строка\nВторая строка\nТретья строка");

Console.WriteLine ("Oдин\tДва\tТри") ;

Console.WriteLine ("Чeтыpe\tПять\tШecть") ;

// Вставляем кавычки.

Console.WriteLine("\"3ачем?\", спросил он.");

Вот что получаем в результате:

Первая строка

Вторая строка

Третья строка

Один Два Три

Четыре Пять Шесть

"Зачем?", спросил он.

Можно также определить буквальный (verbatim) строковый литерал. Буквальный строковый литерал начинается с символа @, за которым следует строка, заключенная в кавычки. Содержимое строки в кавычках принимается без какой бы то ни было модификации и может занимать две или более строк.

using System;

class Verbatim {

public static void Main() {

Console.WriteLine(@"Это буквальный

строковый литерал,

который занимает несколько строк.

Console.WriteLine(@"А теперь воспользуемся табуляцией:

1 2 3 4

5 6 7 8

Console.WriteLine(@"Отзыв программиста: ""Мне нравится С#. """);

Вот что сгенерирует эта программа:

Это буквальный

строковый литерал,

который занимает несколько строк.

А теперь воспользуемся табуляцией:

1 2 3 4

5 6 7 8

Отзыв программиста: "Мне нравится С#."

Не путайте строки с символами. Символьный литерал (например, 'X') представляет одиночную букву типа char. А строка, хотя и содержащая всего одну букву (например, "X"), это все-таки строка.