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#
foreachstatement. - Ved hjælp af C#
List.ForEachmetoden. - 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.