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. Může odvodit datový typ proměnné podle jeho inicializované hodnoty. V této lekci se dozvíte o této funkci, která se označuje jako implicitně napsané místní proměnné.

Co jsou implicitně zadané místní proměnné?

Implicitně zadaná místní proměnná se vytvoří pomocí klíčového var slova následovaného inicializací proměnné. Napří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á ke snížení počtu úhozů na klávesnici, pokud jsou typy dlouhé nebo když jsou typy z kontextu zřejmé.

V 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 je message proměnnou typu string a nikdy ji nelze 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.

CS0029: Cannot implicitly convert type 'decimal' to 'string'

Poznámka:

Jiné programovací jazyky používají var klíčové slovo odlišně. 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, typ je v době deklarace uzamčen, a proto nikdy nebude moci uchovávat hodnoty jiného datového typu.

Proměnné používající var klíčové slovo musí být inicializovány.

Je důležité pochopit, že var klíčové slovo je závislé na hodnotě, kterou použijete k inicializaci proměnné. Pokud se pokusíte použít var klíčové slovo bez inicializace proměnné, při pokusu o kompilaci kódu se zobrazí chyba.

var message;

Pokud se pokusíte tento kód spustit při kompilaci, zobrazí se následující výstup:

CS0818: Implicitly-typed variables must be initialized

Proč používat var klíčové slovo?

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žití datového typu při deklaraci proměnných vám pomůže být účelný při psaní kódu.

Rekapitulace

O klíčovém slově var jste se zatím dozvěděli:

  • Klíčové var slovo říká kompilátoru, aby odvodil datový typ proměnné na základě hodnoty, na kterou je inicializován.
  • 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.