Skip navigation

Tömbök és tárolók

Tömbök

A programozás közben sok esetben eg adott típusú adatból nem csak egyet-egyet, hanem sokat kell tárolnunk. Ilyen esetekben használhtjuk a tároló,vagy konténer objeltumokat.

A legyegyszerűbb tárolónk a tömb. A tömb egy adott típusú adatból képes több példányt tárolni.

A tömböket általában a "[ ... ]" szögletes zárójel párok jelölik, és létrehozásukra több lehetőségünk van.

A tömböt definiálni úgy tudjuk, hogy típus jelölője után egy "[]" szögletes zárójelpárt teszünk.

int[] tomb;

Ahhoz viszont, hogy a tömböt használni is tudjuk létre is kell hoznunk.

A tömbök létrehozására több lehetőségünk van. Vagy a tömb méretét adjuk meg.

int[] tomb;

tomb = new int[10];

Vagy pedig még a tömb definíciójánál kapcsos szárójelek között felsoroljuk az elemek kezdőértékeit.

int[] tomb = { 1, 2, 3, 4, 5 };

A tömbök elemit indexekkel érhetjük el. Szögletes zárójelek között a tömb neve után meg ell adni, hogy hanyadik elemet szeretnénk elérni. A sorszámouzás 0-tól indul, tehát a tömb első eleme a 0. indexel van jelölve.

int[] tomb = { 1, 2, 3, 4, 5 };

Console.WriteLine(tomb[0]);    // kiírja, hogy "1"

Az értékadás az értékadás hasonlóan történik, cak ilyenkor a tömbneve és az elem indexe egy egyenlőségjel bal oldalán áll.

int[] tomb = new int[10];

tomb[2] = 5;

Figyelni kell még arra, hogy a a tömböknek csak azokat az elemeit érjük el, amik léteznek. Ha olyan indexre hivatkozunk a tömbben, ami nem létezik, akkor a programunk a hibával leáll.

int[] tomb = { 1, 2, 3, 4, 5 };

Console.WriteLine(tomb[2]);    // kiírja, hogy "3"
Console.WriteLine(tomb[-1]);    // Hiba, az indexek 0-tól indulnak felfelé
Console.WriteLine(tomb[10]);    // Hiba, ebben az tömbben csak 5 elem van, a maximális tömbindex: 4.

Ha egy tömbnek a nem vagyunk biztosak a méretében, vagy futás közben szeretnénk azt kideríteni, akkor arra használhatjuk a tomb.Length adattagot a méret lekérdezéséhez. Az alábbi példa például végigmegy a tömb minden elemén, amiehz szüksgée van az elemek számára.

int[] tomb = { 1, 2, 3, 4, 5 };

for(int i=0; i<tomb.Length; i++)
{
    Console.WriteLine(tomb[i]);
}

Listák

Halmazok