C# ArrayList Tutorial med eksempler
⚡ Smart opsummering
ArrayList i C# er en dynamisk samling fra System.Collections-navnerummet, der gemmer elementer som objekter. I modsætning til et array vokser og krymper det under kørsel og kan indeholde heltal, strenge og boolske værdier sammen i én liste.
Hvad er ArrayList i C#?
ArrayList-samlingen ligner Arrays datatype i C#. Den største forskel er den dynamiske karakter af array-listesamlingen.
For arrays skal du definere antallet af elementer, som arrayet kan indeholde på tidspunktet for array-erklæringen. Men i tilfælde af Array List-samlingen behøver dette ikke at gøres på forhånd. Elementer kan tilføjes eller fjernes fra Array List-samlingen på et hvilket som helst tidspunkt. Lad os se mere detaljeret på de tilgængelige operationer for array-listesamlingen.
Erklæring af en Array List
Erklæringen for en ArrayList er angivet nedenfor. En array-liste oprettes ved hjælp af ArrayList Datatype. Det "nye" nøgleord bruges til at oprette et objekt i en ArrayList. Objektet tildeles derefter variablen a1. Så nu vil variablen a1 blive brugt til at få adgang til de forskellige elementer i arraylisten.
ArrayList a1 = new ArrayList()
Tilføjelse af elementer til en matrix
Tilføj metoden bruges til at tilføje et element til ArrayList. Tilføj metoden kan bruges til at tilføje en hvilken som helst slags datatypeelement til arraylisten. Så du kan tilføje et heltal eller en streng eller endda en boolsk værdi til matrixlisten. Den generelle syntaks for additionsmetoden er angivet nedenfor
ArrayList.add(element)
Nedenfor er nogle eksempler på, hvordan "tilføj"-metoden kan bruges. Tilføj-metoden kan bruges til at tilføje forskellige datatyper til Array List-samlingen.
Nedenfor kan du se eksempler på, hvordan vi kan tilføje Integer's Strings og endda booleske værdier til Array List-samlingen.
- a1.add(1) – Dette vil tilføje en heltalsværdi til samlingen
- a1.add(“Eksempel”) – Dette vil tilføje en strengværdi til samlingen
- a1.add(true) – Dette vil tilføje en boolsk værdi til samlingen
Lad os nu se, at dette fungerer på kodeniveau. Al den nedennævnte kode vil blive skrevet til vores konsolapplikation. Koden vil blive skrevet til vores Program.cs fil.
I programmet nedenfor vil vi skrive koden for at oprette en ny array-liste. Vi vil også vise for at tilføje elementer og for at vise elementerne 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 trin bruges til at erklære vores Array List. Her erklærer vi a1 som en variabel til at holde elementerne i vores array-liste.
- Vi bruger derefter nøgleordet add til at tilføje tallet 1, strengen "Eksempel" og den boolske værdi 'true' til arraylisten.
- Vi bruger derefter Console.WriteLine-metoden til at vise værdien af hvert array-listeelement til konsollen. Du vil bemærke, at ligesom arrays kan vi få adgang til elementerne via deres indekspositioner. Så for at få adgang til den første position i Array List bruger vi [0] indekspositionen. Og så videre og så videre.
Hvis ovenstående kode er indtastet korrekt, og programmet køres, vil følgende output blive vist.
Output:
Fra outputtet kan du se, at alle elementerne fra arraylisten sendes til konsollen.
Lad os se på nogle flere metoder, som er tilgængelige som en del af ArrayList.
Tælle
Denne metode bruges til at få antallet af elementer i ArrayList-samlingen. Nedenfor er den generelle syntaks for denne erklæring.
ArrayList.Count() – Denne metode returnerer antallet af elementer, som arraylisten indeholder.
Indeholder
Denne metode bruges til at se, om et element er til stede i ArrayList-samlingen. Nedenfor er den generelle syntaks for denne erklæring
ArrayList.Contains(element) – Denne metode vil returnere sand, hvis elementet er til stede på listen, ellers vil det returnere falsk.
FjernKl
Denne metode bruges til at fjerne et element på en bestemt position i ArrayList-samlingen. Nedenfor er den generelle syntaks for denne erklæring
ArrayList.RemoveAt(index) – Denne metode fjerner et element fra en bestemt position på Array List.
Lad os nu se, at dette fungerer på kodeniveau. Al den nedennævnte kode vil blive skrevet til vores konsolapplikation. Koden vil blive skrevet til vores Program.cs fil.
I nedenstående program vil vi skrive koden for at se, hvordan vi kan bruge de ovennævnte metoder.
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 ejendom, vi ser, er Greve-ejendommen. Vi får egenskaben Count for arraylisten a1 og skriver den derefter til konsollen.
- I anden del bruger vi Contains-metoden til at se, om ArrayList a1 indeholder elementet 2. Vi skriver derefter resultatet til konsollen via Writeline-kommandoen.
- Til sidst, for at vise metoden Fjern element, udfører vi nedenstående trin,
- Først skriver vi værdien af elementet ved indeksposition 1 på arraylisten til konsollen.
- Derefter fjerner vi elementet på indeksposition 1 af arraylisten.
- Til sidst skriver vi igen værdien af elementet ved indeksposition 1 på arraylisten til konsollen. Dette sæt trin vil give en rimelig idé om, hvorvidt fjernelsesmetoden vil fungere, som den skal være.
Hvis ovenstående kode er indtastet korrekt, og programmet køres, vil følgende output blive vist.
Output:
Hvorfor er den sidste værdi sand?
Hvis du ser rækkefølgen af hændelser, fjernes elementet Eksempel fra arrayet, fordi dette er på position 1. Position 1 af arrayet bliver derefter erstattet af det, der var i position 2 tidligere, med værdien 'sand'
Sådan gennemløber du en C# ArrayList
Det er en almindelig opgave at læse hvert element i en ArrayList. Fordi en ArrayList gemmer sine elementer som objekter, kan du besøge dem med en foreach-løkke eller med en for-løkke, der bruger Count-egenskaben. Foreach-løkken er den enkleste måde, da den gennemgår hvert element i rækkefølge uden at have brug for et indeks.
Eksemplet nedenfor opretter en ArrayList af strenge og udskriver hver værdi på sin egen linje. Koden er skrevet i Program.cs-filen i en konsolapplikation.
Trin 1) Importer navneområdet System.Collections, og opret en ArrayList med tre elementer.
Trin 2) Brug en foreach-løkke til at læse 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:-
- Navneområdet System.Collections importeres, så ArrayList-typen er tilgængelig for programmet.
- Tre strengværdier tilføjes til ArrayList med Add-metoden.
- Foreach-løkken læser hvert element som et objekt, og Console.WriteLine-metoden udskriver det på en ny linje.
Når programmet kører, udskriver det Java, Pythonog Kotlin på separate linjer. En for-løkke med Count-egenskaben ville give det samme resultat, samtidig med at du kunne bruge indekspositionen for hvert element.
C# ArrayList-metoder og -egenskaber
ArrayList-klassen indeholder mange indbyggede metoder og egenskaber til at administrere dens elementer. Udover at tilføje og fjerne elementer kan den sortere, søge og vende samlingen. De mest almindelige medlemmer er anført nedenfor.
| Medlem | Beskrivelse |
| Tilføj | Tilføjer et enkelt element til slutningen af ArrayList. |
| indsatte | Tilføjer et element på en bestemt indeksposition. |
| Fjern | Fjerner den første forekomst af et bestemt element. |
| FjernKl | Fjerner elementet på den givne indeksposition. |
| Slet valg | Fjerner alle elementer fra ArrayList. |
| Sort | Sorterer elementerne i stigende rækkefølge. |
| Reverse | Reverserækkefølgen af elementerne på listen. |
| Indeholder | Returnerer sandt, hvis et givet element findes i listen. |
| IndeksOf | Returnerer indekspositionen for et givet element. |
| Tælle | Egenskab, der returnerer antallet af gemte elementer. |
| Kapacitet | En egenskab, der returnerer antallet af elementer, som listen kan indeholde. |
Disse medlemmer lader dig tilføje, finde, sortere og fjerne elementer uden selv at skrive logikken, hvilket er en af de største fordele ved at bruge en samling i forhold til et almindeligt array.
Forskellen mellem ArrayList og List i C#
Både en ArrayList og en generisk Liste gemmer en gruppe af elementer, der kan vokse under kørsel, men som adskiller sig i, hvordan de håndterer typer. At kende forskellen hjælper dig med at vælge den rigtige til moderne C#-kode.
De vigtigste forskelle er anført nedenfor:
- Type sikkerhed: En ArrayList gemmer hvert element som et objekt, mens en List er bundet til én deklareret type og kontrolleres ved kompilering.
- Ydelse: En ArrayList indrammer og udpakker værdityper som int, hvilket koster tid, hvorimod en List undgår indrammelse for bedre hastighed.
- Navneområde: ArrayList findes i System.Collections, mens List findes i System.Collections.Generic.
- støbning: Læsning fra en ArrayList kræver ofte en tilbageføring til den oprindelige type, men en List returnerer den korrekte type direkte.
- Anbefaling: Microsoft anbefaler List til nyudvikling, fordi den er sikrere, hurtigere og nemmere at læse.
Kort sagt er en ArrayList nyttig til at forstå ældre kode eller blandet-type lagring, mens en List er det foretrukne valg til de fleste applikationer i dag.





