În afară de operatorii enumerați până în prezent, există alți câțiva operatori, care sunt fie prea simpli, prea rar folosiți sau prea lipsiți de importanță pentru a crea postări suplimentare pentru ei.
Operatorul . (punct). L-am folosit destul de mult până acum (vă amintiți de Console.WriteLine?). Nu există nici o explicație „de bază” pentru acesta, și din moment ce are legătură cu lucruri despre care nu am învățat încă, ar putea fi un pic confuz să înțelegem pe deplin ceea ce face. Cu toate acestea, definiția academică este aceea că acesta este utilizat pentru a oferi acces la membrii de câmpuri sau metode ale unei clase sau obiect. De exemplu, C# definește o clasă numită DateTime, care conține o proprietate (un membru de câmp) numită Now. Pentru a o putea accesa, trebuie să folosim operatorul punct:
1 |
Console.WriteLine(DateTime.Now); // afișează data și timpul curente |
In exemplul de mai sus, am folosit operatorul punct de două ori, pentru a avea acces la metoda WriteLine() din clasa Console, și proprietatea Now, din clasa DateTime.
Operatorul [] (paranteze pătrate). Acest operator este utilizat în principal pentru a avea acces la elemente ale unui array (matrice). Nu am învățat despre array-uri încă, dar vă puteți imagina o matrice ca fiind un număr de valori de același tip, grupate în aceeași variabilă. Ca un exemplu din viața reală, să ne imaginăm o clădire fiind o variabilă matrice, iar apartamentele din interiorul acesteia, membrii matricei (sau valorile ei). În cazul în care doriți să găsiți o anumită adresă, trebuie să specificați numele clădirii și numărul apartamentului în interiorul acesteia. Priviți acest cod:
1 2 3 4 |
int[] cladire = { 13, 2, 31 }; Console.WriteLine(cladire[1]); Console.Read(); |
Deci, am declarat o variabilă matrice de tip integer numită clădire (care poate stoca unul sau mai multe numere întregi), și i-am atribuit trei valori întregi („apartamentele” noastre). Pentru a putea accesa un apartament specific al clădirii, am folosit operatorul []: cladire[0], cladire[1], etc. De notat că în C#, array-urile au indici pornind de la 0! Aceasta înseamnă că indexul primului element al unui array este 0, nu 1. Prin urmare, în cazul în care o matrice are 7 elemente, indicele ultimului element este 6, nu 7! Dacă declarați o matrice de 3 elemente și încercați să accesați matrice[3], veți primi o excepție IndexOutOfRange și programul se va bloca, pentru că matricea conține doar elemente la indicii 0, 1 și 2.
Operatorul [] poate fi utilizat și pentru a accesa caractere în interiorul unui șir de caractere, după cum urmează:
1 2 3 4 |
string nume = "Ion"; Console.WriteLine(nume[2]); Console.Read(); |
care va afisa „n”. Puteți asemăna un șir de caractere cu o matrice de caractere, iar caracterul care are reședința la indexul 2 în interiorul șirului nostru de caractere este litera „n”.
Operatorul () (paranteze). Așa cum am explicat deja, acest operator poate fi folosit pentru a schimba ordinea de execuție în interiorul unei expresii, aritmetică sau de alt fel.
Operatorul new. Operatorul new poate fi utilizat pentru a instanția obiecte noi. Îl vom explica într-o lecție viitoare.
Operatorul is. Acest operator este utilizat pentru a verifica dacă un obiect este compatibil cu un anumit tip sau nu (pentru a se verifica tipul obiectului utilizat).
Operatorul ??. Vă puteți gândi la acest operator ca fiind oarecum similar cu operatorul ?:, cu singura diferență că nu are o condiție pe care să o specificați. În schimb, fiind plasat între doi operanzi, va returna operandul stâng în cazul în care valoarea sa nu este nulă, sau operandul drept, în caz contrar. Exemplu scurt:
1 2 3 4 |
string nume = null; Console.WriteLine(nume ?? "nici un nume specificat"); Console.Read(); |
Operatorul as. Este utilizat pentru conversie de tip, așa cum vom afla mai târziu. În cazul său, conversia invalidă returnează null.
Operatorul de conversie. De asemenea folosit pentru conversie de tip, dar generează o excepție în cazul în care conversia nu este validă.
Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:
Tags: alți operatori, operatori