Literali
Literalii reprezintă valori imuabile (uneori sunt numiți și constante). Literalii pot fi atribuiți variabilelor ca valoare. Există literali logici, întregi, cu virgulă mobilă, de tip caracter și de tip șir. De asemenea, există un literal special reprezentat de cuvântul cheie null.
Literali logici
Există două constante logice: true (adevărat) și false (fals):
Console.WriteLine(true);
Console.WriteLine(false);
Literali întregi
Literalii întregi reprezintă numere întregi pozitive și negative, de exemplu, 1, 2, 3, 4, -7, -109. Literalii întregi pot fi exprimați în formă zecimală, hexazecimală și binară.
Numerele întregi în formă zecimală sunt utilizate în viața de zi cu zi:
Console.WriteLine(-11);
Console.WriteLine(5);
Console.WriteLine(505);
Numerele în formă binară sunt precedate de simbolurile 0b, după care urmează o serie de zerouri și unități:
Console.WriteLine(0b11); // 3
Console.WriteLine(0b1011); // 11
Console.WriteLine(0b100001); // 33
Pentru a scrie un număr în formă hexazecimală se folosesc simbolurile 0x, urmate de cifre de la 0 la 9 și litere de la A la F, care reprezintă numărul:
Console.WriteLine(0x0A); // 10
Console.WriteLine(0xFF); // 255
Console.WriteLine(0xA1); // 161
Literali cu virgulă mobilă
Literalii cu virgulă mobilă reprezintă numere fracționare. Acest tip de literali are două forme. Prima formă este cea a numerelor cu virgulă mobilă, unde partea fracționară este separată de partea întreagă printr-un punct. De exemplu:
3.14
100.001
-0.38
De asemenea, literalii cu virgulă mobilă pot fi definiți în formă exponențială MEp, unde M este mantisa, E este exponența, care înseamnă de fapt "*10^" (înmulțit cu zece la puterea) și p este ordinul. De exemplu:
Console.WriteLine(3.2e3); // este echivalent cu 3.2 * 10^3 = 3200
Console.WriteLine(1.2E-1); // este echivalent cu 1.2 * 10^-1 = 0.12
Literali de tip caracter
Literalii de tip caracter reprezintă caractere unice. Caracterele sunt delimitate de apostrofuri.
Există mai multe tipuri de literali de tip caracter. În primul rând, acestea sunt caractere obișnuite:
'2'
'A'
'T'
De asemenea, le putem afișa pe consolă cu ajutorul metodei Console.WriteLine:
Console.WriteLine('2');
Console.WriteLine('A');
Console.WriteLine('T');
O grupă specială o reprezintă secvențele de control. O secvență de control reprezintă un caracter precedat de o bară oblică inversă. Această secvență este interpretată într-un anumit mod. Cele mai utilizate secvențe sunt:
- \n - linie nouă
- \t - tabulare
- \\ - bară oblică inversă
Dacă compilatorul întâlnește secvența \t în text, aceasta va fi interpretată nu ca o bară oblică și litera t, ci ca o tabulare - adică un spațiu lung.
De asemenea, caracterele pot fi definite în formă de coduri hexazecimale, delimitate de apostrofuri.
O altă modalitate de a defini caracterele este utilizarea codurilor hexazecimale ASCII. Pentru aceasta, în apostrofuri se specifică simbolurile \x, urmate de codul hexazecimal al caracterului din tabela ASCII. Codurile caracterelor din tabela ASCII pot fi găsite aici.
De exemplu, literalul '\x78' reprezintă caracterul "x":
Console.WriteLine('\x78'); // x
Console.WriteLine('\x5A'); // Z
Ultima modalitate de a defini literali de tip caracter este utilizarea codurilor din tabela de caractere Unicode. Pentru aceasta, în apostrofuri se specifică simbolurile \u, urmate de codul hexazecimal Unicode.
Literali de tip șir
Literalii de tip șir reprezintă șiruri de caractere. Șirurile sunt delimitate de ghilimele duble:
Console.WriteLine("hello");
Console.WriteLine("hello world");
Dacă în interiorul șirului este necesar să fie afișate ghilimele duble, atunci acestea sunt precedate de o bară oblică inversă:
Console.WriteLine("Compania \"Roga și copite\"");
De asemenea, în șiruri se pot folosi secvențe de control. De exemplu, secvența \n realizează trecerea pe o nouă linie:
Console.WriteLine("Salut \nlume");
La afișarea pe consolă, cuvântul "lume" va fi mutat pe o linie nouă:

null
null reprezintă o referință care nu indică niciun obiect, adică absența unei valori.