OOP Course
Сьогодні

Підрозділ 2.3

Літерали

Розглядає літерали як фіксовані значення в коді: логічні, цілі, дробові, символьні, рядкові та null-значення.

2.3. Літерали

Літерали — це фіксовані значення, записані безпосередньо у вихідному коді програми. Коли ми пишемо 42, 3.14, "Привіт" або true — все це літерали. На відміну від змінних, значення якої може змінюватись під час виконання, літерал завжди означає одне й те саме конкретне значення, відоме ще на етапі компіляції.

Літерали можна передавати змінним як значення, передавати як аргументи методів або використовувати безпосередньо у виразах. У C# є кілька видів літералів: логічні, цілочисленні, речові, символьні, рядкові та спеціальний літерал null.

Логічні літерали

Є лише два логічних літерали — true (істина) і false (хибність). Вони відповідають типу bool і є єдиними допустимими значеннями для логічних змінних:

Цілочисленні літерали

Цілочисленні літерали представляють цілі числа — позитивні та негативні. Вони можуть бути виражені у трьох системах числення: десятковій, двійковій та шістнадцятковій.

З числами у десятковій формі все звично — вони використовуються в повсякденному житті:

Числа у двійковій формі передуються символами 0b, після яких іде набір з нулів та одиниць:

Для запису числа у шістнадцятковій формі використовуються символи 0x, після яких іде набір символів від 0 до 9 і від A до F:

Починаючи з C# 7, у цілочисленних літералах можна використовувати символ підкреслення _ як розділювач розрядів для покращення читабельності. Компілятор його повністю ігнорує:

Речові літерали

Речові літерали представляють дробові числа. Перша форма — числа з фіксованою крапкою, де дробову частину відокремлено від цілої крапкою:

Також речові літерали можуть задаватися в експоненційній формі MEp, де M — мантиса, E — ознака степеня, p — порядок (степінь десяти). Наприклад, 3.2e3 означає 3.2 × 10³ = 3200:

За замовчуванням всі речові літерали є значеннями типу double. Якщо потрібно явно вказати тип float або decimal, використовуються суфікси: f або F для float, m або M для decimal:

Тип decimal особливо важливий для фінансових розрахунків, оскільки він не має похибок округлення, характерних для float і double при роботі з десятковими дробами.

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

Символьні літерали представляють одиночний символ. Символ береться в одинарні лапки і відповідає типу char. Кожен символ кодується у Unicode і займає 2 байти.

Найпростіший вид — звичайні символи:

Окрему групу складають керуючі послідовності — спеціальні комбінації символів, що починаються зі зворотного слішу \. Вони інтерпретуються компілятором не як два символи, а як один спеціальний:

Символи також можна визначати через шістнадцяткові коди ASCII, вказуючи після \x шістнадцятковий код символу:

Ще один спосіб — визначення через коди Unicode. Після \u вказується чотиризначний шістнадцятковий код символу з таблиці Unicode:

Рядкові літерали

Рядкові літерали представляють рядки — послідовності символів. Рядок береться в подвійні лапки і відповідає типу string:

Якщо всередині рядка необхідно використати подвійну лапку, вона екранується зворотним слішем \":

У рядках також можна використовувати керуючі послідовності. Зокрема, \n здійснює перехід на новий рядок:

Якщо рядок містить багато зворотних слішів (наприклад, шляхи до файлів), зручно використовувати verbatim-рядок з префіксом @. У такому рядку зворотний сліш не є спеціальним символом і не потребує екранування:

Verbatim-рядок також може бути багаторядковим — переноси рядка всередині @"..." включаються у значення як є:

null

Окремий літерал null представляє відсутність посилання — тобто посилання, яке не вказує на жодний об'єкт. По суті, null означає «немає значення» або «значення невідоме».

Значення null може бути присвоєне будь-якій змінній reference-типу — рядкам, масивам, об'єктам класів:

Спроба звернутися до члена або методу змінної, що містить null, спричинить виняток NullReferenceException під час виконання — одну з найпоширеніших помилок у програмуванні. Саме тому перевірка на null перед використанням є важливою звичкою.

Розроблено Tomka Yurii · © 2026 ·