C# ArrayList bemutató példákkal
⚡ Okos összefoglaló
A C#-ban található ArrayList egy dinamikus gyűjtemény a System.Collections névtérből, amely objektumokként tárolja az elemeket. A tömbökkel ellentétben futásidőben növekszik és zsugorodik, és egyetlen listában képes egész számokat, karakterláncokat és logikai értékeket együtt tárolni.

Mi az ArrayList a C#-ban?
Az ArrayList gyűjtemény hasonló a tömbök adattípus C#-ban. A legnagyobb különbség a tömblista-gyűjtemény dinamikus jellegében rejlik.
Tömbök esetén meg kell határozni azon elemek számát, amelyeket a tömb tartalmazhat a tömb deklarációja idején. De az Array List gyűjtemény esetében ezt nem kell előre megtenni. Az elemek bármikor hozzáadhatók vagy eltávolíthatók a Tömblista gyűjteményből. Nézzük meg részletesebben a tömblista gyűjteményhez elérhető műveleteket.
Egy tömblista deklarációja
Az ArrayList deklarációja alább található. Egy tömblista az ArrayList Datatype segítségével jön létre. Az „új” kulcsszó egy ArrayList objektum létrehozására szolgál. Az objektumot ezután az a1 változóhoz rendeljük. Így most az a1 változót fogják használni a tömblista különböző elemeinek eléréséhez.
ArrayList a1 = new ArrayList()
Elemek hozzáadása egy tömbhöz
Az add metódus egy elem hozzáadására szolgál az ArrayList-hez. Az add metódus használható bármilyen adattípus elem hozzáadásához a tömblistához. Így hozzáadhat egész számot, karakterláncot, vagy akár logikai értéket a tömblistához. Az összeadási módszer általános szintaxisát az alábbiakban adjuk meg
ArrayList.add(element)
Az alábbiakban bemutatunk néhány példát az „add” módszer használatára. Az add metódus segítségével különféle adattípusokat adhatunk a tömblista gyűjteményhez.
Az alábbiakban példákat láthat arra, hogyan adhatunk egész szám karakterláncokat, sőt logikai értékeket is a tömblista gyűjteményhez.
- a1.add(1) – Ez egész számot ad a gyűjteményhez
- a1.add("Példa") – Ez egy karakterlánc-értéket ad a gyűjteményhez
- a1.add(true) – Ez logikai értéket ad a gyűjteményhez
Lássuk, hogyan működik ez kód szinten. Az összes alább említett kód be lesz írva a konzolalkalmazásunkba. A kód a Program.cs fájlunkba kerül.
Az alábbi programban megírjuk a kódot egy új tömblista létrehozásához. Megjelenítjük az elemek hozzáadását és a Tömb lista elemeinek megjelenítését is.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code Magyarázat:-
- Az első lépés a tömblistánk deklarálására szolgál. Itt az a1-et deklaráljuk változóként, amely a tömblistánk elemeit tartalmazza.
- Ezután az add kulcsszóval hozzáadjuk az 1-es számot, az „Example” karakterláncot és a „true” logikai értéket a tömblistához.
- Ezután a Console.WriteLine metódussal jelenítjük meg az egyes tömblistaelemek értékét a konzolon. Észreveheti, hogy a tömbökhöz hasonlóan az elemeket az indexpozíciókon keresztül érhetjük el. Tehát a tömblista első pozíciójának eléréséhez a [0] indexpozíciót használjuk. És így tovább, és így tovább.
Ha a fenti kódot megfelelően adta meg és a program lefut, a következő kimenet jelenik meg.
output:
A kimenetből láthatja, hogy a tömblista összes eleme elküldésre kerül a konzolra.
Nézzünk meg néhány további módszert, amelyek az ArrayList részeként állnak rendelkezésre.
Gróf
Ez a módszer az ArrayList gyűjtemény elemeinek számának lekérésére szolgál. Az alábbiakban ennek az állításnak az általános szintaxisa látható.
ArrayList.Count() – Ez a metódus a tömblista által tartalmazott elemek számát adja vissza.
tartalmaz
Ezzel a módszerrel ellenőrizhető, hogy egy elem megtalálható-e az ArrayList gyűjteményben. Az alábbiakban ennek az állításnak az általános szintaxisa látható
ArrayList.Contains(element) – Ez a metódus igazat ad vissza, ha az elem szerepel a listában, ellenkező esetben false értéket ad vissza.
RemoveAt
Ez a módszer az ArrayList gyűjtemény egy adott pozíciójában lévő elem eltávolítására szolgál. Az alábbiakban ennek az állításnak az általános szintaxisa látható
ArrayList.RemoveAt(index) – Ez a módszer eltávolít egy elemet a tömblista egy adott helyéről.
Lássuk, hogyan működik ez kód szinten. Az összes alább említett kód be lesz írva a konzolalkalmazásunkba. A kód a Program.cs fájlunkba kerül.
Az alábbi programban megírjuk a kódot, hogy megnézzük, hogyan tudjuk használni a fent említett módszereket.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code Magyarázat:-
- Tehát az első tulajdonság, amit látunk, a Count tulajdonság. Megkapjuk az a1 tömblista Count tulajdonságát, majd beírjuk a konzolba.
- A második részben a Contains metódussal nézzük meg, hogy az ArrayList a1 tartalmazza-e a 2. elemet. Ezután a Writeline paranccsal beírjuk az eredményt a konzolba.
- Végül az Elem eltávolítása módszer bemutatása érdekében az alábbi lépéseket hajtjuk végre:
- Először a tömblista Index 1. pozíciójában lévő elem értékét írjuk be a konzolba.
- Ezután eltávolítjuk a tömblista 1. Index pozíciójában lévő elemet.
- Végül ismét felírjuk a konzolba a tömblista Index 1. pozíciójában lévő elem értékét. Ez a lépéskészlet pontos képet ad arról, hogy az eltávolítási módszer megfelelően működik-e.
Ha a fenti kódot megfelelően adta meg és a program lefut, a következő kimenet jelenik meg.
output:
Miért igaz az utolsó érték?
Ha látja az események sorozatát, akkor a Példa elemet eltávolítjuk a tömbből, mert ez az 1. pozícióban van. A tömb 1. pozíciója ezután lecserélődik arra, ami korábban a 2. pozícióban volt, amelynek értéke "true"
Hogyan cikluson keresztül lehet futtatni egy C# tömblistát
Egy ArrayList minden elemének beolvasása gyakori feladat. Mivel egy ArrayList objektumként tárolja az elemeit, azokat egy foreach ciklussal vagy egy Count tulajdonságot használó for ciklussal látogathatjuk meg. A foreach ciklus a legegyszerűbb módja, mivel index nélkül, sorban végigmegy az egyes elemeken.
Az alábbi példa egy karakterláncokból álló ArrayList tömböt hoz létre, és minden értéket külön sorban ír ki. A kód egy konzolalkalmazás Program.cs fájljában található.
Step 1) Importáld a System.Collections névteret, és hozz létre egy három elemmel rendelkező ArrayList tömböt.
Step 2) Használj egy foreach ciklust, hogy minden elemet objektumként olvass be, és a konzolra írj.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Magyarázat:-
- A System.Collections névtér importálva van, így az ArrayList típus elérhetővé válik a program számára.
- Három karakterlánc értéket adunk az ArrayListhez az Add metódussal.
- A foreach ciklus minden elemet objektumként olvas be, és a Console.WriteLine metódus új sorba írja ki.
Amikor a program fut, kinyomtatja Java, Pythonés Kotlin külön sorokban. Egy Count tulajdonsággal rendelkező for ciklus ugyanazt az eredményt adná, miközben lehetővé tenné az egyes elemek indexpozíciójának használatát.
C# ArrayList metódusok és tulajdonságok
Az ArrayList osztály számos beépített metódust és tulajdonságot kínál az elemeinek kezeléséhez. Az elemek hozzáadásán és eltávolításán túl rendezheti, keresheti és megfordíthatja a gyűjteményt. A leggyakoribb tagok listája alább látható.
| Tag | Leírás |
| hozzáad | Egyetlen elemet ad hozzá az ArrayList végéhez. |
| betétlap | Hozzáad egy elemet egy adott indexpozícióhoz. |
| eltávolít | Eltávolítja egy adott elem első előfordulását. |
| RemoveAt | Eltávolítja az elemet a megadott indexpozíciónál. |
| Szűrő kikapcsolása | Eltávolítja az összes elemet az ArrayList-ből. |
| Fajta | Növekvő sorrendbe rendezi az elemeket. |
| Reverse | Reverses az elemek sorrendje a listában. |
| tartalmaz | Igaz értéket ad vissza, ha egy adott elem létezik a listában. |
| IndexOf | Visszaadja egy adott elem indexpozícióját. |
| Gróf | Tulajdonság, amely visszaadja a tárolt elemek számát. |
| Kapacitás | Tulajdonság, amely visszaadja a lista elemeinek számát. |
Ezek a tagok lehetővé teszik elemek hozzáadását, keresését, rendezését és eltávolítását anélkül, hogy saját magad írnád a logikát, ami a gyűjtemények használatának egyik fő előnye egy egyszerű tömbbel szemben.
Különbség az ArrayList és a List között C#-ban
Mind egy ArrayList, mind egy általános Lista olyan elemcsoportokat tárol, amelyek futásidőben növekedhetnek, mégis különböznek abban, hogyan kezelik a típusokat. A különbség ismerete segít a megfelelő kiválasztásában a modern C# kódhoz.
A fő különbségek az alábbiakban felsorolva vannak:
- Típusbiztonság: Egy ArrayList minden elemet objektumként tárol, míg egy List egy deklarált típushoz van kötve, és fordítási időben kerül ellenőrzésre.
- Teljesítmény: Egy ArrayList bedobozolja és kibontja az olyan értéktípusokat, mint az int, ami időigényes, míg egy List a jobb sebesség érdekében elkerüli a bedobozolást.
- Névtér: Az ArrayList a System.Collections, míg a List a System.Collections.Generic fájlban található.
- öntés: Egy ArrayList-ből való olvasás gyakran vissza kell térni az eredeti típusra, de egy List közvetlenül a helyes típust adja vissza.
- Ajánlás: Microsoft a Listet ajánlja új fejlesztésekhez, mert biztonságosabb, gyorsabb és könnyebben olvasható.
Röviden, egy ArrayList hasznos a régebbi kód vagy a vegyes típusú tárolás megértéséhez, míg a List a legtöbb alkalmazáshoz ma az előnyben részesített választás.




