Літерали

Оновлено: 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("Дем\'ян");
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