Cuprins >> Introducere > Cuvântul cheie var
Articol de importanță medie

În lecțiile anterioare, am spus că atunci când declarăm o variabilă, trebuie să indicăm compilatorului tipul variabilei și numele acesteia. Acest tip de variabile sunt numite variabile cu tip explicit (explicitly typed variables):

1
int variabilaIntreg = 123; // variabila cu tip explicit

Cu toate astea, acest lucru nu este pe deplin adevărat.

Versiunea C# 3.0 a introdus cuvântul cheie var, care permite programatorilor să declare variabile locale fără a specifica în mod explicit un tip de date:

1
2
3
3
// variabila locala cu tip implicit, dedus din valoare ca intreg:
var variabilaNumerica = 100;
// variabila locala cu tip implicit, dedus din expresie ca intreg:
var altTipNumeric = variabilaNumerica + 5;

În acest caz, compilatorul va deduce tipul de date al variabilei din valoarea însăși sau din expresia din partea dreaptă a operatorului de atribuire. În exemplul de mai sus, var va fi compilat ca int.

Variabilele cu tip implicit trebuie să aibă o valoare atribuită atunci când sunt declarate (trebuie inițializate), sau compilatorul va genera o eroare:

1
2
var variabilaMea; // va genera o eroare, o valoare trebuie atribuita aici!
variabilaMea = 5;

Spre deosebire de variabilele cu tip explicit, nu putem declara mai multe variabile cu tip implicit în aceeași declarație:

1
var varsta = 20, inaltime = 160, greutate = 50; // va genera o eroare

Variabilele cu tip implicit nu pot fi utilizate ca metode și parametri de funcții:

1
2
3
3
void OMetoda(var parametru) // genereaza o eroare
{
 
}
În cele din urmă, deși var poate stoca orice fel de variabilă, acesta nu este scopul pentru care a fost construit. Utilizarea cuvântului cheie var trebuie rezervată numai pentru cazurile când tipul variabilei este necunoscut, cum ar fi atunci când avem de-a face cu obiecte anonime, despre care vom afla mai târziu.