Implicit módon beírt helyi változók deklarálása

Befejeződött

A C#-fordító a színfalak mögött dolgozik, hogy segítséget nyújtson a kód írásakor. A változó adattípusát az inicializált érték alapján tudja kikövetkeztetni. Ebben a leckében megismerheti ezt a funkciót, az implicit módon beírt helyi változókat.

Mik az implicit módon beírt helyi változók?

Az implicit módon beírt helyi változót a var kulcsszóval, majd egy változó inicializálásával hozza létre a rendszer. Például:

var message = "Hello world!";

Ebben a példában egy sztringváltozó lett létrehozva a var kulcsszó helyett a string kulcsszó használatával.

A var kulcsszó tájékoztatja a C#-fordítót, hogy az adattípust a hozzárendelt érték feltételezi . A típus vélelmezése után a változó ugyanúgy működik, mintha a tényleges adattípust használták volna deklarálásához. A var kulcsszó a billentyűleütések mentésére szolgál, ha a típusok hosszadalmasak, vagy ha a típus nyilvánvaló a környezetből.

A példában:

var message = "Hello world!";

Mivel a változó message azonnal az string értékre van állítva, a C#-fordító megérti a szándékot, és minden "Hello World!" példányt message típusú példányként kezel.

Valójában a message változó string típusúként van definiálva, és soha nem módosítható. Vegyük például a következő kódot:

var message = "Hello World!";
message = 10.703m;

Ha ezt a kódot futtatja, az alábbi hibaüzenet jelenik meg.

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

Megjegyzés:

Más programozási nyelvek másképp használják a var kulcsszót. A C#-ban a változóknak típust rendel a fordító, függetlenül attól, hogy megadja-e a tényleges adattípusnevet, vagy megengedi a fordítónak, hogy kikövetkezteti az adattípust. Más szóval a típus a deklaráláskor zárolva van, ezért soha nem fog tudni más típusú adatokat tárolni.

A kulcsszót var használó változókat inicializálni kell

Fontos tisztában lenni azzal, hogy a var kulcsszó a változó inicializálásához használt értéktől függ. Ha a kulcsszót a var változó inicializálása nélkül próbálja használni, hibaüzenet jelenik meg a kód lefordításakor.

var message;

Ha megkísérli futtatni ezt a kódot, a fordítás során a következő kimenet jelenik meg:

CS0818: Implicitly-typed variables must be initialized

Miért érdemes használni a kulcsszót var ?

A var kulcsszó széles körben elterjedt a C# közösségben. Valószínű, hogy ha egy könyvben vagy online egy kód példáját látja, a var tényleges adattípus neve helyett a használt kulcsszót fogja látni, ezért fontos megérteni a használatát.

A var kulcsszónak fontos szerepe van a C#-ban. A változó típusa sokszor nyilvánvaló az inicializálásából. Ezekben az esetekben egyszerűbb a kulcsszó használata var . A var kulcsszó az alkalmazás kódjának tervezésekor is hasznos lehet. Amikor elkezd kódokat fejleszteni egy feladathoz, előfordulhat, hogy nem tudja azonnal, hogy milyen adattípust kell használnia. var használata segíthet a megoldás dinamikusabb fejlesztésében.

Első lépésként javasoljuk, hogy a változók deklarálásakor továbbra is használja a tényleges adattípusnevet, amíg a kód használata kényelmesebbé nem válik. A változók deklarálásakor az adattípus használata segít a kód írása során a céltudatosságban.

Összefoglalás

A kulcsszóról eddig az alábbiakat var tanulta:

  • A var kulcsszó arra utasítja a fordítót, hogy az inicializált érték alapján következtetsen a változó adattípusára.
  • var kulcsszót valószínűleg látni fogja mások kódjának olvasása közben; azonban, ha lehet, használja az adattípust.