C# ArrayList výukový program s příklady
⚡ Chytré shrnutí
ArrayList v jazyce C# je dynamická kolekce z oboru názvů System.Collections, která ukládá prvky jako objekty. Na rozdíl od pole se za běhu zvětšuje a zmenšuje a může v jednom seznamu uchovávat celá čísla, řetězce a booleovské hodnoty.
Co je ArrayList v C#?
Kolekce ArrayList je podobná kolekci Pole datový typ v C#. Největším rozdílem je dynamická povaha kolekce seznamů polí.
Pro pole musíte definovat počet prvků, které pole může obsahovat v době deklarace pole. Ale v případě kolekce Array List to není nutné dělat předem. Prvky lze kdykoli přidat nebo odebrat z kolekce Seznam polí. Podívejme se na operace dostupné pro kolekci seznamu polí podrobněji.
Deklarace seznamu polí
Deklarace ArrayList je uvedena níže. Seznam polí je vytvořen pomocí datového typu ArrayList. Klíčové slovo „new“ se používá k vytvoření objektu ArrayList. Objekt je pak přiřazen k proměnné a1. Takže nyní bude proměnná a1 použita pro přístup k různým prvkům seznamu polí.
ArrayList a1 = new ArrayList()
Přidání prvků do pole
Metoda add se používá k přidání prvku do ArrayList. Metodu add lze použít k přidání jakéhokoli druhu prvku datového typu do seznamu polí. Do seznamu polí tedy můžete přidat celé číslo, řetězec nebo dokonce booleovskou hodnotu. Obecná syntaxe metody sčítání je uvedena níže
ArrayList.add(element)
Níže je uvedeno několik příkladů, jak lze použít metodu „přidat“. Metodu add lze použít k přidání různých typů dat do kolekce Array List.
Níže vidíte příklady toho, jak můžeme do kolekce Array List přidat Integer's Strings a dokonce booleovské hodnoty.
- a1.add(1) – Toto přidá do kolekce celočíselnou hodnotu
- a1.add(“Příklad”) – Přidá do kolekce hodnotu String
- a1.add(true) – Toto přidá do kolekce booleovskou hodnotu
Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší konzolové aplikace. Kód bude zapsán do našeho souboru Program.cs.
V programu níže napíšeme kód pro vytvoření nového seznamu polí. Ukážeme také přidání prvků a zobrazení prvků seznamu Array.
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 Vysvětlení:-
- První krok slouží k deklaraci našeho seznamu polí. Zde deklarujeme a1 jako proměnnou pro uložení prvků našeho seznamu polí.
- Poté pomocí klíčového slova add přidáme číslo 1 , řetězec „Příklad“ a booleovskou hodnotu „true“ do seznamu polí.
- Poté použijeme metodu Console.WriteLine k zobrazení hodnoty každého prvku seznamu polí na konzoli. Všimněte si, že stejně jako k polím můžeme přistupovat k prvkům prostřednictvím jejich indexových pozic. Pro přístup na první pozici seznamu polí tedy použijeme pozici indexu [0]. A tak dále a tak dále.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Z výstupu můžete vidět, že všechny prvky ze seznamu polí jsou odeslány do konzole.
Podívejme se na některé další metody, které jsou dostupné jako součást ArrayList.
Počítat
Tato metoda se používá k získání počtu položek v kolekci ArrayList. Níže je obecná syntaxe tohoto příkazu.
ArrayList.Count() – Tato metoda vrátí počet prvků, které obsahuje seznam polí.
obsahuje
Tato metoda se používá ke zjištění, zda je prvek přítomen v kolekci ArrayList. Níže je obecná syntaxe tohoto příkazu
ArrayList.Contains(element) – Tato metoda vrátí hodnotu true, pokud je prvek v seznamu přítomen, jinak vrátí hodnotu false.
RemoveAt
Tato metoda se používá k odstranění prvku na určité pozici v kolekci ArrayList. Níže je obecná syntaxe tohoto příkazu
ArrayList.RemoveAt(index) – Tato metoda odstraní prvek z konkrétní pozice v seznamu Array List.
Nyní se podívejme, jak to funguje na úrovni kódu. Veškerý níže uvedený kód bude zapsán do naší konzolové aplikace. Kód bude zapsán do našeho souboru Program.cs.
V níže uvedeném programu napíšeme kód, abychom viděli, jak můžeme použít výše uvedené metody.
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 Vysvětlení:-
- Takže první vlastnost, kterou vidíme, je vlastnost Count. Získáváme vlastnost Count seznamu polí a1 a pak ji zapisujeme do konzoly.
- Ve druhé části pomocí metody Contains zjistíme, zda ArrayList a1 obsahuje prvek 2. Výsledek pak zapíšeme do Console pomocí příkazu Writeline.
- Nakonec, abychom předvedli metodu Odebrat prvek, provádíme níže uvedené kroky,
- Nejprve zapíšeme hodnotu prvku na pozici Index 1 seznamu polí do konzole.
- Poté odstraníme prvek na pozici Index 1 v seznamu polí.
- Nakonec opět zapíšeme hodnotu prvku na pozici Index 1 seznamu polí do konzole. Tato sada kroků poskytne reálnou představu, zda metoda odstranění bude fungovat, jak by měla.
Pokud je výše uvedený kód zadán správně a program je spuštěn, zobrazí se následující výstup.
Výstup:
Proč je poslední hodnota pravdivá?
Pokud vidíte posloupnost událostí, prvek Příklad je z pole odstraněn, protože je na pozici 1. Pozice 1 pole se pak nahradí tím, co bylo na pozici 2 dříve, což je hodnota 'true'
Jak procházet seznamem ArrayList v jazyce C#
Čtení každého prvku seznamu ArrayList je běžný úkol. Protože seznam ArrayList ukládá své položky jako objekty, můžete je navštívit pomocí smyčky foreach nebo smyčky for, která používá vlastnost Count. Smyčka foreach je nejjednodušší způsob, protože prochází každou položkou v pořadí bez nutnosti indexu.
Následující příklad vytvoří ArrayList řetězců a vypíše každou hodnotu na samostatný řádek. Kód je napsán v souboru Program.cs konzolové aplikace.
Krok 1) Importujte jmenný prostor System.Collections a vytvořte ArrayList se třemi položkami.
Krok 2) Pomocí smyčky foreach načtete každý prvek jako objekt a zapíšete ho do konzole.
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 Vysvětlení:-
- Jmenný prostor System.Collections je importován, takže program má k dispozici typ ArrayList.
- Tři řetězcové hodnoty jsou do ArrayList přidány metodou Add.
- Smyčka foreach čte každou položku jako objekt a metoda Console.WriteLine ji vypíše na nový řádek.
Když program běží, vypíše Java, Python, a Kotlin na samostatných řádcích. Cyklus for s vlastností Count by dal stejný výsledek a zároveň by vám umožnil použít indexovou pozici každého prvku.
Metody a vlastnosti ArrayList v jazyce C#
Třída ArrayList nabízí mnoho vestavěných metod a vlastností pro správu svých prvků. Kromě přidávání a odebírání položek může kolekci třídit, vyhledávat a obracet. Nejběžnější členy jsou uvedeny níže.
| Člen | Description |
| přidat | Přidá jeden prvek na konec ArrayList. |
| Vložit | Přidá prvek na konkrétní pozici indexu. |
| Odstranit | Odstraní první výskyt daného prvku. |
| RemoveAt | Odstraní prvek na dané pozici indexu. |
| Čirá | Odebere všechny prvky z ArrayList. |
| Typ | Seřadí prvky vzestupně. |
| Reverse | Reverses pořadí prvků v seznamu. |
| obsahuje | Vrací hodnotu true, pokud daný prvek v seznamu existuje. |
| IndexOf | Vrátí indexovou pozici daného prvku. |
| Počítat | Vlastnost, která vrací počet uložených prvků. |
| Kapacita | Vlastnost, která vrací počet prvků, které seznam může obsahovat. |
Tito členové vám umožňují přidávat, vyhledávat, řadit a odebírat položky, aniž byste museli sami psát logiku, což je jedna z hlavních výhod použití kolekce oproti prostému poli.
Rozdíl mezi ArrayList a List v C#
ArrayList i generický typ Seznam ukládají skupinu položek, které se mohou za běhu rozrůstat, ale liší se ve způsobu, jakým zpracovávají typy. Znalost tohoto rozdílu vám pomůže vybrat tu správnou pro moderní kód C#.
Hlavní rozdíly jsou uvedeny níže:
- Bezpečnost typů: ArrayList ukládá každou položku jako objekt, zatímco List je vázán na jeden deklarovaný typ a je kontrolován při kompilaci.
- Výkon: ArrayList zabaluje a rozbaluje typy hodnot, jako například int, což stojí čas, zatímco List se zabalování vyhýbá kvůli vyšší rychlosti.
- Namespace: ArrayList se nachází v System.Collections, zatímco List se nachází v System.Collections.Generic.
- lití: Čtení z ArrayList často vyžaduje přetypování zpět na původní typ, ale List vrací správný typ přímo.
- Doporučení: Microsoft doporučuje List pro nový vývoj, protože je bezpečnější, rychlejší a snáze čitelný.
Stručně řečeno, ArrayList je užitečný pro pochopení staršího kódu nebo úložiště smíšeného typu, zatímco List je dnes preferovanou volbou pro většinu aplikací.





