Литералы

Обновлено: 18.02.2019

Литерал(literal) – запись в коде программы, который имеет фиксированное(константное) значение. Литералами также называют представление некоторых типов данных в виде текстовых строк. С помощью литералов, в языке C#, переменным передаются значения.

Типы литералов:

  • логические или булевы;
  • целочисельные;
  • вещественные или дробные;
  • символьные;
  • строковые;
  • массивы-литералы;
  • объектные литералы;
  • null-литерал.

Логические(булевы) литералы

В .Net есть две булевы(от типа данных bool) константы: true(истина) та false(ложь):

bool isEmpty = true;
bool loaded = false;

Целочисельные литералы

Данный тип литералов предназначен для представления, положительных и отрицательных, целых чисел к примеру -9, 0, 11, 42.

C# поддерживает чисельные литералы для разных систем счисления.

Двоичные(бинарные)

Появились в C# версии 7.0. Используются для записи чисел в двоичной системе счисления, перед числом нужно ставить префикс 0b, за которым следует, набор нулей и единиц двоичной формы: 0b101, 0b100111, 0B001010.

В бинарных литералах, для форматирования, можно использовать символ подчеркивания “_”: 0b____1011 то же, что и 0b00001011.

Восьмеричные

Предназначены для представления чисел восьмеричной системы счисления, используется префикс 0, после которого записывают восьмеричное число(от 0 до 7): 0123, 0742, 0349.

Десятичные

Запись в десятичной форме счисления. Числа записываются в привычной для нас форме: -5, 12, 78.

Шестнадцатеричные

Предназначены для шестнадцатеричной системы счисления, используется префикс 0x, после которого записывают число в шестнадцатеричной системе(от 0 до 9 и от A до F): 0x12, 0xA56B, 0xff430c1.

Регистр символов не различается компилятором: 0b01 то же, что и 0B01, 0xaBc = 0XAbC = 0xABC.

//бинарный, двоичный литерал
int binNum = 0b10101010;

//восьмеричный
int octNum = 017212;

//десятичный
int decNum = -924;

//шестнадцатеричный
int hexNum = 0xFF0CAA;

Вещественные литералы

Дробные или вещественные литералы используют для записи дробных чисел. Этот тип литералов имеет две формы записи.

Числа с фиксированной точкой – в этой форме целая часть числа отделяется от дробной с помощью точки “.”. Например: 3.1415, -2.0012, 1.137.

Экспоненциальная форма – в такой форме записи, вещественное число имеет мантиссу и порядок.

Число Number = Mantissa ⋅ 10 p, где Mantissa - мантисса, p - порядок, записывается в виде Number = MantissaEp.

Примеры:

  • 1000 = 1 ⋅ 10 3 = 1e3;

  • 23400 = 2.34 ⋅ 10 4 = 2.34e4;

  • -0.00000056 = -5.6 ⋅ 10 -7 = -5.6e-7;

В экспоненциальной форме записи, регистр символа Е не имеет значения.

double pi = 3.141592;
double x = 1.542e-9;
double k = 9.78e12;

Символьные литералы

Для записи отдельных букв(символов), я в зыке C#, используются символьные литералы. Символы представляются в одинарных кавычках: ‘a’, ‘x’, ‘%’.

Кроме обычных символов, в C#, есть так званые, управляющие последовательности(escape sequence). Они предназначены для представления специальных символов, записываются как обратный слэш, за которым расположен символ.

Наиболее распространенные Escape-последовательности:

Управляющая последовательностьЗначение
\bBackspace
\nПереход на новую строку
\rВозврат каретки
\tГоризонтальная табуляция
\vВертикальная табуляция
\’Одиночная кавычка(апостроф)
\”Двойная кавычка
\\Обратный слэш
\xHHСимвол ASCII в шестнадцатеричной нотации
\uHHСимвол Unicode в шестнадцатеричной нотации

Использование управляющих последовательностей:

char c = 'D';
Console.Write('\t'); //вывод символа табуляции
Console.Write('\n'); //переход на новую строку
Console.Write('\x64'); //символ @
Console.Write('\u263A'); //смайл '☺'

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

Строковые литералы – строка символов записанная в двойные кавычки. В строковых литералах также можно использовать управляющие последовательности.

string emptyString = ""; //пустая строка
string name = "Оксана";
Console.WriteLine("123\t456");
Console.WriteLine("Привет\nМир");
Console.WriteLine("Так можно вывести смайл - \u263A");

Массивы-литералы

Массивы-литералы предназначены для инициализации массива. Можно использовать две формы записи: с указанием типа данных и без типа.

int[] arr1 = new int[] { 1, 2, 3, 4, 5 };
int[] arr2 = new[] { 10, 20, 30, 40, 50 };

Объектные литералы

Используются для инициализации объектов.

К примеру для класса

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

объектный литерал будет иметь форму:

Person user = new Person { Name = "Artem", Age = 21 };

null-литерал

null – особенный ссылочный тип литерала, указывает на отсутствие значения(то есть указывает на то, что переменной не задано значений, или объект отсутствует).

string s1 = null; //у строки нет значения
string s2 = ""; //пустая строка
string s3 = null;
Console.WriteLine(s1 == s2); //выведет False, потому что, пустая строка и строка без значения не одно и то же самое.
Console.WriteLine(s1 == s3); //выведет True
Поделиться: Vk Ok