C# ArrayList Tutorial med eksempler
⚡ Smart oppsummering
ArrayList i C# er en dynamisk samling fra navnerommet System.Collections som lagrer elementer som objekter. I motsetning til en array vokser og krymper den under kjøretid og kan holde heltall, strenger og boolske verdier sammen i én liste.

Hva er ArrayList i C#?
ArrayList-samlingen ligner på arrays datatype i C#. Den største forskjellen er den dynamiske karakteren til array-listesamlingen.
For matriser må du definere antall elementer som matrisen kan inneholde på tidspunktet for matriseerklæringen. Men når det gjelder Array List-samlingen, trenger ikke dette å gjøres på forhånd. Elementer kan legges til eller fjernes fra Array List-samlingen når som helst. La oss se på operasjonene som er tilgjengelige for matriselistesamlingen mer detaljert.
Erklæring av en matriseliste
Erklæringen til en ArrayList er gitt nedenfor. En array-liste opprettes ved hjelp av ArrayList Datatype. Det "nye" nøkkelordet brukes til å lage et objekt av en ArrayList. Objektet blir deretter tilordnet variabelen a1. Så nå vil variabelen a1 bli brukt for å få tilgang til de forskjellige elementene i matriselisten.
ArrayList a1 = new ArrayList()
Legge til elementer i en matrise
Add-metoden brukes til å legge til et element i ArrayList. Add-metoden kan brukes til å legge til alle slags datatypeelementer til matriselisten. Så du kan legge til et heltall, eller en streng, eller til og med en boolsk verdi til matriselisten. Den generelle syntaksen for addisjonsmetoden er gitt nedenfor
ArrayList.add(element)
Nedenfor er noen eksempler på hvordan «legg til»-metoden kan brukes. Add-metoden kan brukes til å legge til ulike datatyper til Array List-samlingen.
Nedenfor kan du se eksempler på hvordan vi kan legge til Integer's Strings og til og med boolske verdier til Array List-samlingen.
- a1.add(1) – Dette vil legge til en heltallsverdi til samlingen
- a1.add(“Eksempel”) – Dette vil legge til en strengverdi til samlingen
- a1.add(true) – Dette vil legge til en boolsk verdi til samlingen
La oss nå se at dette fungerer på kodenivå. All koden nedenfor vil bli skrevet til vår konsollapplikasjon. Koden vil bli skrevet til vår Program.cs-fil.
I programmet nedenfor vil vi skrive koden for å lage en ny array-liste. Vi vil også vise for å legge til elementer og for å vise elementene i Array-listen.
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 Forklaring:-
- Det første trinnet brukes til å deklarere vår Array List. Her erklærer vi a1 som en variabel for å holde elementene i matriselisten vår.
- Vi bruker deretter nøkkelordet add for å legge til tallet 1, strengen "Eksempel" og den boolske verdien "true" til matriselisten.
- Vi bruker deretter Console.WriteLine-metoden for å vise verdien av hvert array-listeelement til konsollen. Du vil legge merke til at akkurat som matriser, kan vi få tilgang til elementene via deres indeksposisjoner. Så for å få tilgang til den første posisjonen til Array List, bruker vi [0] indeksposisjonen. Og så videre og så videre.
Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utgang vises.
Utgang:
Fra utgangen kan du se at alle elementene fra arraylisten sendes til konsollen.
La oss se på noen flere metoder som er tilgjengelige som en del av ArrayList.
Telle
Denne metoden brukes til å få antall elementer i ArrayList-samlingen. Nedenfor er den generelle syntaksen til denne uttalelsen.
ArrayList.Count() – Denne metoden vil returnere antall elementer som matriselisten inneholder.
inneholder
Denne metoden brukes til å se om et element er til stede i ArrayList-samlingen. Nedenfor er den generelle syntaksen til denne uttalelsen
ArrayList.Contains(element) – Denne metoden vil returnere true hvis elementet er til stede i listen, ellers vil det returnere usann.
FjernAt
Denne metoden brukes til å fjerne et element på en bestemt posisjon i ArrayList-samlingen. Nedenfor er den generelle syntaksen til denne uttalelsen
ArrayList.RemoveAt(index) – Denne metoden vil fjerne et element fra en bestemt posisjon i Array List.
La oss nå se at dette fungerer på kodenivå. All koden nedenfor vil bli skrevet til vår konsollapplikasjon. Koden vil bli skrevet til vår Program.cs-fil.
I programmet nedenfor vil vi skrive koden for å se hvordan vi kan bruke de ovennevnte metodene.
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 Forklaring:-
- Så den første eiendommen vi ser er Count-eiendommen. Vi får Count-egenskapen til arraylisten a1 og skriver den til konsollen.
- I den andre delen bruker vi Contains-metoden for å se om ArrayList a1 inneholder element 2. Vi skriver deretter resultatet til konsollen via Writeline-kommandoen.
- Til slutt, for å vise frem Fjern element-metoden, utfører vi trinnene nedenfor,
- Først skriver vi verdien av elementet ved indeksposisjon 1 i arraylisten til konsollen.
- Deretter fjerner vi elementet på indeksposisjon 1 i arraylisten.
- Til slutt skriver vi igjen verdien av elementet ved indeksposisjon 1 i arraylisten til konsollen. Dette settet med trinn vil gi en god idé om fjerningsmetoden vil fungere som den skal.
Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utgang vises.
Utgang:
Hvorfor er den siste verdien sann?
Hvis du ser hendelsesrekkefølgen, fjernes elementet Eksempel fra matrisen fordi dette er i posisjon 1. Posisjon 1 av matrisen blir deretter erstattet av det som var i posisjon 2 tidligere, med verdien 'true'
Slik går du gjennom en C# ArrayList i løkke
Det er vanlig å lese hvert element i en ArrayList. Fordi en ArrayList lagrer elementene sine som objekter, kan du besøke dem med en foreach-løkke eller med en for-løkke som bruker Count-egenskapen. Foreach-løkken er den enkleste måten, ettersom den går gjennom hvert element i rekkefølge uten å trenge en indeks.
Eksemplet nedenfor oppretter en ArrayList med strenger og skriver ut hver verdi på en egen linje. Koden er skrevet i Program.cs-filen i et konsollprogram.
Trinn 1) Importer navnerommet System.Collections og opprett en ArrayList med tre elementer.
Trinn 2) Bruk en foreach-løkke for å lese hvert element som et objekt og skrive det til konsollen.
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 Forklaring:-
- Navnerommet System.Collections importeres slik at ArrayList-typen er tilgjengelig for programmet.
- Tre strengverdier legges til ArrayList med Add-metoden.
- Foreach-løkken leser hvert element som et objekt, og Console.WriteLine-metoden skriver det ut på en ny linje.
Når programmet kjører, skriver det ut Java, Pythonog Kotlin på separate linjer. En for-løkke med Count-egenskapen ville gi samme resultat, samtidig som du lar deg bruke indeksposisjonen til hvert element.
C# ArrayList-metoder og egenskaper
ArrayList-klassen har mange innebygde metoder og egenskaper for å administrere elementene. I tillegg til å legge til og fjerne elementer, kan den sortere, søke og reversere samlingen. De vanligste medlemmene er listet opp nedenfor.
| Medlem | Tekniske beskrivelser |
| Legg til | Legger til et enkelt element på slutten av ArrayList. |
| innfelt | Legger til et element på en bestemt indeksposisjon. |
| fjerne | Fjerner den første forekomsten av et bestemt element. |
| FjernAt | Fjerner elementet på den gitte indeksposisjonen. |
| Fjern | Fjerner alle elementer fra ArrayList. |
| Svart | Sorterer elementene i stigende rekkefølge. |
| Reverse | Reverserekkefølgen på elementene i listen. |
| inneholder | Returnerer sann hvis et gitt element finnes i listen. |
| Indeks av | Returnerer indeksposisjonen til et gitt element. |
| Telle | Egenskap som returnerer antall lagrede elementer. |
| Kapasitet | Egenskap som returnerer antall elementer listen kan inneholde. |
Disse medlemmene lar deg legge til, finne, sortere og fjerne elementer uten å skrive logikken selv, noe som er en av hovedfordelene med å bruke en samling fremfor en vanlig matrise.
Forskjellen mellom ArrayList og List i C#
Både en ArrayList og en generisk Liste lagrer en gruppe elementer som kan vokse under kjøring, men de håndterer typer på forskjellige måter. Å vite forskjellen hjelper deg med å velge den rette for moderne C#-kode.
De viktigste forskjellene er listet opp nedenfor:
- Type sikkerhet: En ArrayList lagrer hvert element som et objekt, mens en List er bundet til én deklarert type og sjekkes ved kompileringstid.
- Ytelse: En ArrayList bokser og åpner bokser for verdityper som int, noe som koster tid, mens en List unngår boksing for bedre hastighet.
- navnerom: ArrayList ligger i System.Collections, mens List ligger i System.Collections.Generic.
- avstøpning: Lesing fra en ArrayList krever ofte en tilbakeføring til den opprinnelige typen, men en List returnerer den riktige typen direkte.
- Anbefaling: Microsoft anbefaler List for nyutvikling fordi den er tryggere, raskere og enklere å lese.
Kort sagt, en ArrayList er nyttig for å forstå eldre kode eller blandet lagring, mens en List er det foretrukne valget for de fleste applikasjoner i dag.




