3 forskellige måder at gennemløbe en C#-liste på
List<T>
er en af de mest anvendte datastrukturer i C#-sproget.
Iteration over den List<T>
og udføre nogle operationer på listeelementer er ret almindelige i vores daglige projekter.
For at gennemløbe en liste i C# kan vi bruge 3 forskellige måder.
- Brug af C#
foreach
statement. - Ved hjælp af C#
List.ForEach
metoden. - Brug af simpel for loop.
Lad os gennemgå et eksempel for at forstå det yderligere.
Først vil vi oprette en simpel C#-liste.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Nu vil vi se forskellige måder at lave en C#-liste som loop på.
Brug af C# foreach
statement
Brug af foreach
-erklæringen til at loop en C#-liste er en meget anvendt metode.
Desuden kan vi udføre enhver operation på listeelementerne.
I nedenstående eksempel har jeg oprettet en liste med strenge.
Derefter sløjfes denne liste ved hjælp af foreach
og derefter udskrives listeelementerne på konsollen.
///Method to Loop C# list
void loopList()
{
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
foreach (string lang in languages)
{
Console.WriteLine(lang);
}
}
Nu vil vi oprette en liste over objekter og lave en løkke af dem ved hjælp af foreach
.
Definerede en Person
klasse og oprettede en liste med to personelementer.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Nu kan vi bruge foreach
-erklæringen til at gennemløbe listen over objekter.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Brug af C# List.ForEach
-metoden
List<T>.ForEach
metode udfører den angivne action
på hvert element i listen.
Den accepterer Action<T>
en delegeret parameter.
Følgende eksempel gennemløber listen af objekter ved hjælp af Action<T>
delegat.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Brug af for
-erklæringen
Vi kan bruge den gamle for
-erklæring til at gennemløbe en C#-liste, hvis du ønsker at udføre en handling på listeelementerne baseret på indekset.
Ellers skal du holde dig til foreach
eller List<T>.ForEach()
metoder.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Resumé
I denne tutorial lærte vi, hvordan man gennemløber en liste i C# ved hjælp af foreach
, List<T.ForEach
og for
statement.