Î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 |
var variabilaNumerica = 100; // variabila locala cu tip implicit, dedus din valoare ca intreg var altTipNumeric = variabilaNumerica + 5; // variabila locala cu tip implicit, dedus din expresie ca intreg |
Î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 = 4; |
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 4 |
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.
Tags: cuvinte cheie C#, declararea și inițializarea variabilelor, domeniul de definiție al variabilelor, tipuri de variabile, var, variabilă var, variabile