A C# nyelv erősen típusos nyelv. (ellentétben a PHP-val vagy Javascripttel) Ebben a nyelvben a változók használata előtt
- deklarálni kell a változót
- értéket kell adni a változónak
- A deklarálás és a kezdőérték adás egy ütemben is történhet!
A deklarálás a változó típusának megadásával megadjuk azt, hogy a változó mekkora helyet foglal el a memóriában és mekkorák és milyenek lehetnek a lehetséges értékei. A deklarálás során utasítjuk a programot, hogy a megadott memóriaméretet foglalja le a program futása során.
Általában a létező egyszerű, elemi adattípusokról itt találhatsz leírást!
A C# egyszerű adattípusai
C# típus | .NET típus | Méret (byte) | Leírás |
byte | System.Byte | 1 | Előjel nélküli 8 bites egész szám (0..255) |
char | System.Char | 2 | Unicode karakter |
bool | System.Boolean | 1 | Logikai típus, értéke igaz(1 vagy true) vagy hamis(0 vagy false) |
sbyte | System.SByte | 1 | Előjeles, 8 bites egész szám (-128..127) |
short | System.Int16 | 2 | Előjeles, 16 bites egész szám (-32768..32767 |
ushort | System.Uint16 | 2 | Előjel nélküli, 16 bites egész szám (0..65535) |
int | System.Int32 | 4 | Előjeles, 32 bites egész szám (–2147483648.. 2147483647). |
uint | System.Uint32 | 4 | Előjel nélküli, 32 bites egész szám (0..4294967295) |
float | System.Single | 4 | Egyszeres pontosságú lebegőpontos szám |
double | System.Double | 8 | Kétszeres pontosságú lebegőpontos szám |
decimal | System.Decimal | 16 | Fix pontosságú 28+1 jegyű szám |
long | System.Int64 | 8 | Előjeles, 64 bites egész szám |
ulong | System.Uint64 | 8 | Előjel nélküli, 64 bites egész szám |
string | System.String | ---- | Unicode karakterek sorozata. A változó által tartalmazott karakterek száma határozza meg a méretét! Egy karakter 2 byte. |
object | System.Object | ---- | Minden más típus őse |
A vastagított típusok a legfontosabbak, amiket a tanulás során gyakran használunk.
Változók (=variables)
A változók a memória egyes részeinek névvel megjelölt részei. Ezeken a memóriaterületeken a programok futás közben adatokat tárolnak. A tárolt adatokat meg lehet változtatni bármikor.
A változó létrehozása (=deklarációja).
A programokban a változót létre kell hozni egy-egy utasításssal. A deklaráció során meg kell adnunk a változó típusát, ami a változóban tárolható adatok típusát jelenti. A deklaráció a típus megadásán keresztül meghatározza azt is, hogy milyen méretű memóriaterületet foglal le a program a tárolt adatok számára. a deklaráció után a változónak kezdőértéket kell adni. Ezt a C# nem teszi meg, ezért külön utasítással vagy a deklarációban megadott értékadó utasítással kell megadni a kezdőértéket. Ha az eőtt akarunk használni egy változót, pl. kirni a tartalmát - mielőtt értéket adnánk neki, azt a fordításkor hibásnak tekinti a rendszer.
Változó deklarálásához az alábbi formákat lehet használni:
típus változónév;
típus változónév = kezdőérték;
int i;
string s;
int x, y; // Ilyen módon egy utasítással több azonos típusú változót is deklarálhatunk.
A C# 5.0 változatában megjelent az a forma, amikor a változó deklarálásához nem kell megadnunk a típust, hanem a kezdőérték adásakor annak típusából "kitalálja" a fordító a változó típusát.Ehhez a "var" kulcsszót kell használnunk:
var z = 1.34; // float típusú változó jön létre.
A változók névadási szabályai
A változók neve hivatkozás a memóriaterületre. Programírás közben elsődlegesen az a fontos, hogy a változókat a program írása során a kötelező használaton kívül helyesen is használjuk.
Kötelező használat
- A változónevekben az angol bac betűit, aláhúzás jelet ( _ ) és számot használhatunk.
- A változónévnek mindig az angol abc egyik betűjével vagy az aláhúzás ( _ ) jellel kell kezdődnie.
- A változónevek kis- és nagybetűi különböznek egymástól! Nem azonos az "a" és az "A" nevű változó!
Helyes használat
- A változó neve utaljon a változó jelentésére. Ezt hívjuk beszédes változónévnek.
pl. x, y, z - egy koordináta, i, j, k - egy-egy index, name például egy nevet tárol. - A változók neve ne legyen túl hosszú, mert könnyen eltéveszthetjük!
- Ha a változó neve hosszú, és több szóból áll, akkor használjuk a CamelCase (PúposTeve) írásmódot.
A C# összetett adattípusai
Tömb
Gyakran szükséges, hogy egyszerre több ugyanolyan típusú adatokat kell tárolnunk. Ebben az esetben érdemes tömb típusú adatokat tárolni.
- A tömbösszetevő elemeire indexxel hivatkozhatunk. Az index 0-tól N-1 -ig terjedő egész szám lehet!
- Egy dimenziós tömbről beszélünk, ha csak egy indexet használunk egy elem eléréséhez.
- Két vagy több dimenziós tömbről beszélünk, ha kettő vagy több indexet használunk egy elem eléréséhez.
Magyarázat
- Az egy dimenziós tömböt gyakran egymás mellé tett dobozokkal ábrázolunk. A dobozokat pedig megsorszámozzuk
- A két dimenziós tömb ábrázolásához a dobozokat egy sík lapra teszünk és a két dimenziós koordinátarendszer egész számú helyein vannak az adatok.
- A három dimenziós tömböt egy térbeli téglatesttel szoktuk ábrázolni... és így tovább.
int[] a = new int[10];
Kettes komplemens számábrázolás
Bár korábban szerepelt, de itt megismétlem az egész számok számábrázolásának elméleti hátterét.