Gyakorlat – Értékek beállítása és lekérése változókból
Mivel a változók ideiglenes tárolók az adatokhoz, az a céljuk, hogy írjuk őket és olvasásra is használjuk őket. A következő gyakorlatban mindkettőre lehetősége lesz.
Gyakorlat – Változók használata
Ebben a gyakorlatban deklarál egy változót, hozzárendel egy értéket, lekéri annak értékét stb.
Az első változó létrehozása
Először törölje a korábban írt kódot, és hozzon létre egy változót.
Jelölje ki az összes kódot a C#-kódszerkesztőben, majd a Törlés vagy a Backspace billentyűkombinációt lenyomva törölje azt.
Írja be a következő kódot a kódszerkesztőbe:
string firstName; firstName = "Bob";
Változó deklarálásához adja meg a használni kívánt adattípust, majd a változó nevét. Ha értéket szeretne hozzárendelni egy változóhoz, a hozzárendelési operátort kell használnia, amely egyetlen egyenlő karakter =.
Megjegyzés:
Az érték hozzárendelését "változó beállításának" vagy egyszerűen "set" műveletnek is nevezik.
Érték helytelen hozzárendelése változóhoz
Fontos megfigyelni, hogy a hozzárendelés jobbról balra történik. Más szóval a C#-fordítónak először meg kell értenie a hozzárendelési operátor jobb oldalán lévő értéket, majd el tudja végezni a hozzárendelési operátor bal oldalán lévő változóhoz való hozzárendelést. Ha megfordítja a sorrendet, összezavarja a C#-fordítót.
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
string firstName; "Bob" = firstName;Most futtassa a kódot. A kimeneti konzolon a következő hibaüzenet jelenik meg:
CS0131: The left-hand side of an assignment must be a variable, property or indexer
Helytelen adattípusú érték helytelen hozzárendelése a változóhoz
Megtudta, hogy a C# a típusok kényszerítésére lett tervezve. Ha változókkal dolgozik, a kényszerítési típusok azt jelentik, hogy nem rendelhet egy adattípust egy másik adattípus tárolására deklarált változóhoz.
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
int firstName; firstName = "Bob";Most futtassa a kódot. A kimeneti konzolon a következő hibaüzenet jelenik meg:
CS0029: Cannot implicitly convert type 'string' to 'int'
A hibaüzenet arra utal, hogy a C#-fordító mit próbál végrehajtani a színfalak mögött. Megpróbálta "implicit módon átalakítani" a "Bob" sztringet int értékké; azonban ez lehetetlen. Ennek ellenére a C# megpróbálta elvégezni az átalakítást, de meghiúsult, mivel a "Bob" szónak nincs numerikus megfelelője.
Később többet is megtudhat az implicit és explicit típuskonverzióról. Egyelőre ne feledje, hogy egy változó csak a megadott adattípusnak megfelelő értékeket képes tárolni.
A változóban tárolt érték lekérése
Ha egy változóból szeretne értéket lekérni, csak a változó nevét kell használnia. Ez a példa egy változó értékét állítja be, majd lekéri és megjeleníti a konzolon.
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
string firstName; firstName = "Bob"; Console.WriteLine(firstName);Most futtassa a kódot. A kimeneti konzolon a következő eredmény jelenik meg:
Bob
Egy érték változóból való lekérését "a változó lekérésének" is nevezik, vagy egyszerűen "get" műveletnek.
A kódsorok írása során látni fogja, hogy a fordító ellenőrzi a kódot, és észleli a lehetséges hibákat. A fordító nagyszerű eszköz, amellyel hamarabb kijavíthatja a kódot. Most, hogy már ismeri a különböző típusú hibákat, gyorsan kijavíthatja a hibákat a fordító hibaüzeneteinek segítségével.
Változó értékének hozzárendelése
A változót tetszőleges számú alkalommal újra felhasználhatja, és újra hozzárendelheti. Ez a példa ezt az ötletet szemlélteti.
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
string firstName; firstName = "Bob"; Console.WriteLine(firstName); firstName = "Liem"; Console.WriteLine(firstName); firstName = "Isabella"; Console.WriteLine(firstName); firstName = "Yasmin"; Console.WriteLine(firstName);Most futtassa a kódot. A kimeneti konzolon a következő eredmény jelenik meg:
Bob Liem Isabella Yasmin
A változó inicializálása
Mielőtt lekérheti az értéket a változóból, be kell állítania egy változót egy értékre. Ellenkező esetben hibaüzenet jelenik meg.
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
string firstName; Console.WriteLine(firstName);Most futtassa a kódot. A kimeneti konzolon a következő eredmény jelenik meg:
CS0165: Use of unassigned local variable 'firstName'
A nem hozzárendelt helyi változók lehetőségének elkerülése érdekében javasoljuk, hogy a deklarálás után a lehető leghamarabb állítsa be az értéket.
Valójában a deklarációt és a változó értékének beállítását is elvégezheti egy kódsoron belül. Ezt a technikát nevezik a változó inicializálásának .
Módosítsa a megírt kódot úgy, hogy az megfeleljen a következő kódnak:
string firstName = "Bob"; Console.WriteLine(firstName);Most futtassa a kódot. A következő kimenetnek kell megjelennie:
Bob
Összefoglalás
Eddig ezt tanulta meg a változók kezeléséről:
- Mielőtt lekérhet (lekérhet) egy értéket egy változóból, hozzá kell rendelnie (beállítania) egy értéket egy változóhoz.
- A változó inicializálásához rendeljen hozzá egy értéket a változóhoz a deklarálási ponton.
- A hozzárendelés jobbról balra történik.
- Hozzárendelési operátorként csak egy egyenlőségjelet használ.
- Ha le szeretné kérni az értéket a változóból, csak a változó nevét kell használnia.