Röviden !!!
Adattípusok
A C# erősen típusos nyelv, ami következőt jelenti: minden változó típusának ismertnek kell lennie a fordítási időben. A változó típusa határozzam meg, hogy az milyen, és mekkora értéket vehet fel, ill. hogy mennyit foglal a memóriából.
A C# nyelv típusainak osztályozása:
Egész szám típusok |
Valós szám típusok |
Karakter típusok |
Szöveg típusok |
Logikai típusok |
Egész típusok
8 típus tartozik ebbe családba. Ezek a típusok 2 dologban különböznek egymástól:
- memória igényük (byte - ban) és
- előjelességükben (+ / -).
C# típus | Méret | Leírás |
int | 4 | Előjeles +- 2 147 483 648 |
uint | 4 | Előjel nélküli 0,...,4 294 946 295 |
byte | 1 | Előjel nélküli 0, ..., 255 |
sbyte | 1 | Előjeles -128, ... ,127 |
short | 2 | Előjeles -32 756, ... , 32 767 |
ushort | 2 | Előjel nélküli 0, ..., 65 535 |
long | 8 | Előjeles |
ulong | 8 | Előjel nélküli |
Valós típusok
Két típus létezik:
C# típus | Méret | Leírás |
double | 4 | Egyszeres pontosságú lebegőpontos szám |
float | 8 | Kétszeres pontosságú lebegőpotnos szám |
Karakter típus
A karakter típus neve char (1 byte) , és csak egy karaktert képes tárolni.
Szöveg típus
A szöveg típusokat string - nek nevezzük. A stringekbe karakterláncokat tudunk tárolni.
Logikai típus
A logikai típust bool - nak nevezzük, és 1 byte -ot foglal. Két értéke lehet:
- true
- false
Változók
Deklaráció
Egy változót előkészítünk az adat fogadására. A deklaráslás a következő képpen történik:
//típus és név int valtozo1; bool logikai; //értékadó utasítás valtozo1 = 12500; logikai = true; //egybe byte ertek = 64; |
A név adásnak beszédesnek kell lennie, ezzel könnyítve saját magunk és programozó társaink munkáját is.
A név adásnál figyeljünk arra, hogy nem adhatunk olyan nevet amely számmal kezdődik! Innentől kezdve a programozóra van bízva, hogy milyen nevet ad a változónak( _ vonalat viszont használhatjuk).
Példák névadásra:
int valtozo; //teljesen korrekt string szoveg0; //ez is int 1valtozo; //na, ez már NEM JÓ int _1valtozo; //ez is jó |
Object, var, enum, const
System.Object
Fontos tudni, hogy a .NET minden típus közös őse, azaz minden típus a System.Object - ből származik !!! Ezek a típusok szétoszlanak érték- és referenciatípusokra(a különbség a memóriabeli elhelyezkedésben rejlik)!
Itt kell megemlítenünk a Boxing(bedobozolás), Unboxing(kidobozolás) - ot.
Mivel az object érték és referencia típus is, ezért egy érték vagy referencia típust is átadhatunk az objectnek:
int ertek = 1; object boxing = ertek; //bedobozolva int ertek2 = (int)boxing; //kidobozlva |
Kidobozolásnál egy explicit típuskonverziót hajtunk végre, az object típusra.
var
Ennél a típusnál a fordítóra bízzuk, hogy meghatározza az értékének típusát.
Ez a meghatározás a fordítási időben történik! Az ilyen változók típusa nem változtatható meg, de a típuskonverziók végrehajthatóak!
var a = 13; //ő egy egész lesz, int //így viszont jó double eredmeny = ertek + (double)a ; |
Használata kerülendő!
enum
Felsorolt típus. Egy olyan adatszerkezet, amely meghatározott értékek névvel ellátott halmazát képviseli.
Deklarálása:
enum Days {Monday,Tuesday,Sunday}; |
A felsorolás minden tegjához tartozik egy érték, amely balról - jobbra haladva növekszik.
const
Ő egy típusmódosító, melynek segítségével egy típust konstanssá tehetünk.
Az változónak csak egyszer adhatunk értéket, még pedig a deklarálásakor.
A deklaráció során kapott értéket, később már nem tudjuk változtatni !
const float PI = 3.141592; //ő egy konstans //használata float sugar = 15.2; float szoroz = sugar * 2 * PI; |
Ha kontanst használunk, előtte győzödjünk meg arról, hogy a későbbiekben is arra az értékre lesz-e szükségünk.