WebElektronika

Változók a C# programozási nyelvben

person access_time 2014.01.09.
Ebben a cikkben megismerjük a C# nyelv által használt változók nagy részét. Nézünk egy példát a típuskonverzióra.


A C# nyelv erősen típusos nyelv, tehát a fordítás előtt ismerni kell a változó típusát. A típusok a System.Object-ből származnak.

A következő táblázat összefoglalja a C# nyelv változóit.

C# .NET típus Leírás
bool System.Boolean logikai típus (true, false)
byte System.Byte 8 bit méret, nincs előjel
char System.Char 16 bit, unicode karakter
decimal System.Decimal 128 bit, fix pontosságú
double System.Double 64 bit, lebegőpontos
float System.Single 32 bit, lebegőpontos
int System.Int32 32 bit, előjeles
long System.Int64 64 bit, előjeles egész
object System.Object őse minden típusnak
sbyte System.SByte 8 bit, előjeles
short System.Int16 16 bit, előjeles
string System.String  
ulong System.Uint64 64 bit, előjelnélküli
ushort System.Uint16 16 bit, előjelnélküli


(link)

A változók deklarálása, megadása úgy történik, hogy először megadjuk a típust, azután a változó nevét (adott esetben az értéket is).

típus változónév;
 

Ha több változónak a típusa megegyezik, akkor használhatjuk a "felsorolás operátort", a ","-t. Tehát :

típus változónév1, változónév2, .... változónévn;
 

A változók értékadása történhet a változók deklarálásánál is.

típus változónév = 1;
 

A C# nyelv fejlődik, jelenleg a C# 5.0 verziójánál tartanak. A C# 3.0-nál megjelent a "var" lehetőség. Ennek a használatánál nem mi adjuk meg a változó típusát, hanem a fordítóra bízzuk. De a fordító csak úgy tud típust hozzárendelni az adott változóhoz, ha a változó a deklarálás során értéket kap.

var változónév = 13;

Deklaráljunk néhány változót a "var" segítségével (1. ábra).


1. ábra   Változók deklarálása var-ral


Látható, hogy a Visual Studio fejlesztőrendszerben aláhúzásra került a "t" változó, mert lehet eldönteni ennek a változónak a típusát.

Ha ráállunk a kurzorral az egyik változó értékére, akkor megkapjuk a változónak a típusát (2. ábra).


2. ábra   A d1 változó double típusú


Most álljunk rá a kurzorral a "t" változóra. A következő üzenet fogad minket (3. ábra).


3. ábra   Értéket kell adnunk a "t"-nek
 

Lokális / globális változó

Ha egy blokkon belül (pl.: for ciklus, metódus) deklarálunk egy változót, akkor az csak ott "él", csak ott látható, használható.
Ezeket nevezzük lokális változóknak.
A globális változók bárhol elérhetők, használhatók. Ezeket az osztályon belül, de a metódusokon kívül hozzuk létre. (Megjegyezzük, ezek nem "klasszikus" értelemben vett globális változók, mert az adott osztályon belül hozzuk létre.)
 

Típusok
Érték típusok Referencia típusok
  • az adatokat közvetlenül tartalmazzák
  • a típusnak van kezdőértéke
  • a hivatkozás adatterületre mutat
  • egy objektumra több hivatkozás is hivatkozhat

 

Konstansok

Ha a változó deklarálásakor használjuk a "const" szavat, akkor a változónak értéket kell adnunk, és ezt később nem módosíthatjuk. Fontos, hogy fordítási időben kell ezt tudnia a fordítónak.

 

Típuskonverzió

A típuskonverzió segítségével egy változó értékének más típust adunk. Történhet explicit vagy implicit módon.

Implicit :

double d = 0;
int i = 20;
d = i;

Explicit :

d = 23.4;
i = (int)d;

Nézzük meg a következő példát (4. ábra). Osszuk el a 10-et 3-mal. Írassuk ki különböző változótípusokkal az eredményeket. 


4. ábra   Példa a típuskonverzióra

Az eredmény az 5. ábrán látható.


5. ábra   Futási eredmény