Deklarace implicitně zadaných místních proměnných
Kompilátor jazyka C# funguje na pozadí a pomáhá vám při psaní kódu. Z inicializované hodnoty dokáže odvodit datový typ proměnné. V této lekci se o funkci implicitně zadávaných místních proměnných dozvíte více.
Co jsou implicitně zadávané místní proměnné?
Implicitně zadaná místní proměnná se vytvoří pomocí klíčového var
slova následovaného inicializací proměnné. Příklad:
var message = "Hello world!";
V tomto příkladu byla vytvořena řetězcová proměnná pomocí var
klíčového slova místo klíčového string
slova.
Klíčové var
slovo říká kompilátoru jazyka C#, že datový typ je odvozený přiřazenou hodnotou. Po odvození typu proměnná funguje stejně jako v případě, že se k deklaraci použil skutečný datový typ. Klíčové var
slovo se používá k uložení při stisknutí kláves, pokud jsou typy dlouhé nebo když je typ z kontextu zřejmé.
V tomto příkladu:
var message = "Hello world!";
Vzhledem k tomu, že proměnná message
je okamžitě nastavena na string
hodnotu "Hello World!"
, kompilátor jazyka C# rozumí záměru a považuje za každou instanci message
typu string
.
Ve skutečnosti message
je proměnná typu a string
nelze ji nikdy změnit. Představte si například následující kód:
var message = "Hello World!";
message = 10.703m;
Pokud tento kód spustíte, zobrazí se následující chybová zpráva.
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Poznámka:
V jiných programovacích jazycích se klíčové slovo var
používá jinak. V jazyce C# jsou proměnné přiřazeny typem kompilátorem bez ohledu na to, jestli použijete skutečný název datového typu, nebo povolíte kompilátoru, aby to znamenalo datový typ. Jinými slovy to znamená, že typ se v okamžiku deklarace zamkne, aby nikdy nemohl obsahovat hodnoty jiného datového typu.
Proměnné používající var
klíčové slovo musí být inicializovány.
Je důležité si uvědomit, že klíčové slovo var
závisí na hodnotě, kterou použijete k inicializaci proměnné. Pokud se pokusíte použít klíčové slovo var
bez inicializace proměnné, zobrazí se při pokusu o kompilaci kódu chyba.
var message;
Pokud se pokusíte tento kód spustit při kompilaci, zobrazí se následující výstup:
(1,5): error CS0818: Implicitly-typed variables must be initialized
Proč používat klíčové slovo var
?
Klíčové var
slovo bylo široce přijato v komunitě jazyka C#. Je pravděpodobné, že pokud se podíváte na příklad kódu v knize nebo online, uvidíte var
klíčové slovo použité místo skutečného názvu datového typu, takže je důležité porozumět jeho použití.
Klíčové var
slovo má důležité použití v jazyce C#. Často je typ proměnné z inicializace zřejmé. V takových případech je jednodušší použít var
klíčové slovo. Klíčové var
slovo může být také užitečné při plánování kódu pro aplikaci. Když začnete vyvíjet kód pro úlohu, nemusíte okamžitě vědět, jaký datový typ se má použít. Použití var
vám může pomoct lépe vyvíjet řešení dynamicky.
Při zahájení práce se doporučuje, abyste při deklarování proměnných dál používali skutečný název datového typu, dokud nebudete s kódem spokojenější. Používání datových typů k deklaraci proměnných vám pomůže postupovat při psaní kódu účelně.
Rekapitulace
O klíčovém slově var
jste se zatím dozvěděli:
- Klíčové slovo
var
říká kompilátoru, aby datový typ proměnné odvodil na základě hodnoty, do které je inicializovaný. - Při čtení kódu jiných lidí se pravděpodobně zobrazí
var
klíčové slovo. Pokud je to ale možné, měli byste datový typ použít.