Deklarace implicitně zadaných místních proměnných

Dokončeno

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.