Cuprins >> Introducere > Secvenţele Escape
Articol de importanță medie

Există momente când doriți să utilizați caractere speciale sau șiruri de caractere care conțin caractere speciale, cum ar fi caracterul linie nouă. Evident că nu e posibil doar să scrieți textul pe o linie nouă în codul dvs. Acesta este momentul în care secvențele Escape sunt de folos.

Secvențele Escape sunt caractere speciale care practic nu pot fi reprezentate în mod direct în codul sursă; ele sunt toate precedate de caracterul backslash.

Lista de mai jos va prezintă caracterele Escape utilizate cel mai frecvent:

1
2
3
4
5
6
\'       // apostrof
\"       // ghilimele
\\       // backslash
\n       // linie nouă
\t       // tabulator (tab)
\uXXXX   // caracter specificat după codul său Unicode, de exemplu \u0041.

În continuare vom declara o variabilă de tip string care poate stoca text, pentru a ilustra utilizarea secvenței escape linie nouă:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            string primulString = "acesta este un string
                în care încercăm să adăugăm o linie nouă în cod";
            
            // Afișează rezultatul la consolă
            Console.WriteLine(primulString);
            Console.ReadLine();
        }
    }
}

Exemplul de mai sus nu va funcționa, iar compilatorul ne va avertiza cu privire la „Newline in constant”. Deci, cum adăugăm o linie nouă în șirul nostru?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            string primulString = "acesta este un string" +
                "in care incercam sa adaugam o linie noua in cod";
            
            // Afiseaza rezultatul la consola
            Console.WriteLine(primulString);
            Console.ReadLine();
        }
    }
}

Textul de mai sus se va compila cu succes, dar din păcate textul va fi afișat în continuare pe o singură linie:

acesta este un stringin care incercam sa adaugam o linie noua in cod
 
 

Modul corect de a adăuga o nouă linie este de fapt folosirea secvenței Escape pentru a adăuga un caracter linie nouă:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            string primulString = "acesta este un string \nin care incercam sa adaugam o linie noua in cod";
            
            // Afiseaza rezultatul la consola
            Console.WriteLine(primulString);
            Console.ReadLine();
        }
    }
}

De data aceasta, rezultatul va fi:

acesta este un string
in care incercam sa adaugam o linie noua in cod
 

După cum se poate vedea, variabila noastră de tip string conține secvența Escape \n, care spune compilatorului să adăuge un caracter linie nouă la acea locație.

Un alt exemplu ideal ar fi utilizarea de ghilimele. Din moment ce compilatorul utilizează ghilimelele pentru a înțelege unde începe și unde se termină valoarea unei variabile string, adăugând ghilimele în interiorul șirului nostru va face compilatorul să creadă că am încercat să încheiem valoarea șirului:

1
string salutare = ""Buna, draga mea!" spuse el.";

Codul de mai sus va genera cel mult o eroare de compilator. în schimb, forma corectă ar fi:

1
string salutare = "\"Buna, draga mea!\" spuse el.";

care va produce această ieșire:

"Buna, draga mea!" spuse el.
 
 

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip: