Î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
{
}
|