Samouczek C# ArrayList z przykładami
⚡ Inteligentne podsumowanie
ArrayList w języku C# to dynamiczna kolekcja z przestrzeni nazw System.Collections, która przechowuje elementy jako obiekty. W przeciwieństwie do tablicy, ArrayList rośnie i maleje w czasie wykonywania i może przechowywać liczby całkowite, ciągi znaków i wartości logiczne na jednej liście.

Co to jest ArrayList w C#?
Kolekcja ArrayList jest podobna do Tablice typ danych w C#. Największą różnicą jest dynamiczny charakter kolekcji list tablic.
W przypadku tablic należy zdefiniować liczbę elementów, które tablica może zawierać w momencie deklaracji tablicy. Jednak w przypadku kolekcji Array List nie trzeba tego robić wcześniej. Elementy można dodawać lub usuwać z kolekcji Array List w dowolnym momencie. Przyjrzyjmy się bliżej operacjom dostępnym dla kolekcji Array List.
Deklaracja listy tablic
Poniżej znajduje się deklaracja ArrayList. Lista tablic jest tworzona za pomocą typu danych ArrayList. Słowo kluczowe „new” służy do tworzenia obiektu ArrayList. Obiekt zostaje następnie przypisany do zmiennej a1. Zatem teraz zmienna a1 będzie używana w celu uzyskania dostępu do różnych elementów listy tablic.
ArrayList a1 = new ArrayList()
Dodawanie elementów do tablicy
Metoda add służy do dodawania elementu do ArrayList. Metodę add można wykorzystać do dodania dowolnego rodzaju elementu typu danych do listy tablic. Możesz więc dodać liczbę całkowitą, ciąg znaków, a nawet wartość logiczną do listy tablic. Ogólna składnia metody dodawania jest podana poniżej
ArrayList.add(element)
Poniżej znajduje się kilka przykładów zastosowania metody „dodaj”. Metodę add można wykorzystać do dodawania różnych typów danych do kolekcji Array List.
Poniżej możesz zobaczyć przykłady tego, jak możemy dodać ciągi liczb całkowitych, a nawet wartości logiczne do kolekcji Array List.
- a1.add(1) – Spowoduje to dodanie wartości całkowitej do kolekcji
- a1.add(“Przykład”) – Spowoduje to dodanie wartości String do kolekcji
- a1.add(true) – Spowoduje to dodanie wartości logicznej do kolekcji
Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej. Kod zostanie zapisany w naszym pliku Program.cs.
W poniższym programie napiszemy kod tworzący nową listę tablic. Pokażemy także, jak dodawać elementy i wyświetlać elementy listy 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 Wyjaśnienie:-
- Pierwszy krok służy do zadeklarowania naszej listy tablic. Tutaj deklarujemy a1 jako zmienną przechowującą elementy naszej listy tablic.
- Następnie używamy słowa kluczowego add, aby dodać liczbę 1, ciąg „Przykład” i wartość logiczną „true” do listy tablic.
- Następnie używamy metody Console.WriteLine, aby wyświetlić na konsoli wartość każdego elementu listy tablic. Zauważysz, że podobnie jak tablice, możemy uzyskać dostęp do elementów poprzez ich pozycje indeksowe. Aby uzyskać dostęp do pierwszej pozycji listy tablic, używamy pozycji indeksu [0]. I tak dalej i tak dalej.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wyjście:
Z danych wyjściowych widać, że wszystkie elementy z listy tablic są wysyłane do konsoli.
Przyjrzyjmy się innym metodom dostępnym w ramach listy ArrayList.
Liczyć
Ta metoda służy do pobierania liczby elementów w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia.
ArrayList.Count() – Ta metoda zwróci liczbę elementów zawartych w liście tablic.
zawiera
Ta metoda służy do sprawdzania, czy element znajduje się w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia
ArrayList.Contains(element) – Ta metoda zwróci wartość true, jeśli element znajduje się na liście, w przeciwnym razie zwróci wartość false.
Usuń o
Ta metoda służy do usuwania elementu z określonej pozycji w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia
ArrayList.RemoveAt(index) – Ta metoda usunie element z określonej pozycji listy tablic.
Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej. Kod zostanie zapisany w naszym pliku Program.cs.
W poniższym programie napiszemy kod, aby zobaczyć, jak możemy wykorzystać powyższe 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 Wyjaśnienie:-
- Zatem pierwszą właściwością, którą widzimy, jest właściwość Count. Otrzymujemy właściwość Count listy tablic a1, a następnie zapisujemy ją w konsoli.
- W drugiej części używamy metody Zawiera, aby sprawdzić, czy lista ArrayList a1 zawiera element 2. Następnie zapisujemy wynik do konsoli za pomocą polecenia Writeline.
- Na koniec, aby zaprezentować metodę Usuń element, wykonujemy poniższe kroki:
- Najpierw zapisujemy do konsoli wartość elementu znajdującego się na pozycji Index 1 listy tablic.
- Następnie usuwamy element znajdujący się na pozycji Index 1 listy tablic.
- Na koniec ponownie zapisujemy do konsoli wartość elementu znajdującego się na pozycji Index 1 listy tablic. Ten zestaw kroków da rzetelny pogląd, czy metoda usuwania będzie działać tak, jak powinna.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wyjście:
Dlaczego ostatnia wartość jest prawdziwa?
Jeśli widzisz sekwencję zdarzeń, element Przykład zostanie usunięty z tablicy, ponieważ znajduje się na pozycji 1. Pozycja 1 tablicy zostanie następnie zastąpiona tym, co znajdowało się wcześniej na pozycji 2, a wartość to „true”
Jak przejść przez listę tablicową w języku C#
Odczyt każdego elementu listy ArrayList to częste zadanie. Ponieważ lista ArrayList przechowuje swoje elementy jako obiekty, można je przeglądać za pomocą pętli foreach lub pętli for, która wykorzystuje właściwość Count. Pętla foreach jest najprostszym sposobem, ponieważ przechodzi przez każdy element po kolei, bez potrzeby indeksowania.
Poniższy przykład tworzy tablicę ArrayList z ciągami znaków i wyświetla każdą wartość w osobnym wierszu. Kod jest zapisany w pliku Program.cs aplikacji konsolowej.
Krok 1) Zaimportuj przestrzeń nazw System.Collections i utwórz ArrayList z trzema elementami.
Krok 2) Użyj pętli foreach, aby odczytać każdy element jako obiekt i zapisać go na konsoli.
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 Wyjaśnienie:-
- Przestrzeń nazw System.Collections jest importowana, aby typ ArrayList był dostępny dla programu.
- Do tablicy ArrayList za pomocą metody Add dodawane są trzy wartości łańcuchowe.
- Pętla foreach odczytuje każdy element jako obiekt, a metoda Console.WriteLine drukuje go w nowym wierszu.
Po uruchomieniu programu następuje wydruk Java, Python, Kotlin w osobnych wierszach. Pętla for z właściwością Count dałaby ten sam wynik, a dodatkowo pozwoliłaby na użycie pozycji indeksu każdego elementu.
Metody i właściwości ArrayList w C#
Klasa ArrayList oferuje wiele wbudowanych metod i właściwości do zarządzania swoimi elementami. Oprócz dodawania i usuwania elementów, umożliwia sortowanie, przeszukiwanie i odwracanie kolekcji. Poniżej wymieniono najczęściej używane elementy.
| Członek | OPIS |
| Dodaj | Dodaje pojedynczy element na końcu ArrayList. |
| wstawka | Dodaje element w określonej pozycji indeksu. |
| Usunąć | Usuwa pierwsze wystąpienie określonego elementu. |
| Usuń o | Usuwa element o podanym indeksie. |
| Usuń | Usuwa wszystkie elementy z ArrayList. |
| Sortuj | Sortuje elementy w kolejności rosnącej. |
| Reverse | Reverseokreśla kolejność elementów na liście. |
| zawiera | Zwraca wartość true, jeśli dany element istnieje na liście. |
| Indeks | Zwraca pozycję indeksu danego elementu. |
| Liczyć | Właściwość zwracająca liczbę przechowywanych elementów. |
| Pojemność | Właściwość zwracająca liczbę elementów, które może zawierać lista. |
Dzięki tym elementom możesz dodawać, wyszukiwać, porządkować i usuwać elementy bez konieczności pisania całej logiki, co jest jedną z głównych zalet korzystania z kolekcji zamiast zwykłej tablicy.
Różnica między ArrayList a List w C#
Zarówno ArrayList, jak i generyczny Lista Przechowują grupę elementów, które mogą rosnąć w czasie wykonywania, ale różnią się sposobem obsługi typów. Znajomość tych różnic pomoże Ci wybrać odpowiedni element dla nowoczesnego kodu C#.
Poniżej wymieniono najważniejsze różnice:
- Bezpieczeństwo typu: Lista ArrayList przechowuje każdy element jako obiekt, natomiast lista List jest powiązana z jednym zadeklarowanym typem i jest sprawdzana w czasie kompilacji.
- Wydajność: ArrayList pakuje i rozpakowuje typy wartości, takie jak int, co zajmuje czas, podczas gdy List unika pakowania, co zapewnia większą szybkość.
- Przestrzeń nazw: ArrayList znajduje się w System.Collections, natomiast List w System.Collections.Generic.
- Odlew: Odczyt z ArrayList często wymaga rzutowania z powrotem na typ oryginalny, natomiast List zwraca bezpośrednio poprawny typ.
- Zalecenie: Microsoft zaleca Listę do nowych zastosowań, ponieważ jest bezpieczniejsza, szybsza i łatwiejsza do odczytania.
Krótko mówiąc, ArrayList przydaje się do zrozumienia starszego kodu lub pamięci masowej o mieszanym typie, natomiast List jest preferowanym wyborem w większości współczesnych aplikacji.




