3 różne sposoby na zapętlenie listy w C#

List<T> są jedną z najczęściej używanych struktur danych w języku C#.

Iterowanie nad List<T> oraz wykonywanie pewnych operacji na elementach listy są, dość często spotykane w naszych codziennych projektach.

Aby zapętlić listę w C# możemy użyć 3 różnych sposobów.

  1. Używając instrukcji C# foreach.
  2. Używając metody C# List.ForEach.
  3. Użycie prostej pętli for.

Przejdźmy przez przykład, aby zrozumieć to dalej.

Najpierw stworzymy prostą listę w języku C#.

List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};

Teraz zobaczymy różne sposoby na zapętlenie listy w C#.

Używając instrukcji C# foreach

Użycie instrukcji foreach do zapętlenia listy w C# jest szeroko stosowaną metodą.

Ponadto możemy wykonywać dowolne operacje na elementach listy.

W poniższym przykładzie utworzyłem listę ciągów znaków.

Następnie zapętliłem tę listę używając foreach i dalej wypisałem elementy listy na konsoli.

///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);
   }
}

Teraz stworzymy listę obiektów i zapętlimy ją używając instrukcji foreach.

Zdefiniowaliśmy klasę Person i stworzyliśmy listę z dwoma elementami osobowymi.


List<Person> persons = new List<Person>() 
{ 
      new Person() { Id = 1, Name="Arun" },
      new Person() { Id = 2, Name="Kumar"} 
};

Teraz możemy użyć instrukcji foreach do zapętlenia listy obiektów.

void loopListOfObjects(List<Persons> persons){
 foreach(var person in persons)
    {
        Console.WriteLine(person.Name);            
        Console.WriteLine(person.Id);
    }
}

Używając metody C# List.ForEach

List<T>.ForEach metoda wykonuje podane action na każdym elemencie Listy.

Przyjmuje ona Action<T> parametr delegata.

Poniższy przykład zapętla listę obiektów przy użyciu Action<T> delegata.

persons.ForEach((person) =>
    {
        Console.WriteLine(person.Name);
        Console.WriteLine(person.Id);
    });

Użycie instrukcji for

Możemy użyć legacy for statement do zapętlenia listy w C#, jeśli chcemy wykonać dowolną akcję na elementach listy na podstawie indeksu.

W przeciwnym razie trzymaj się foreach lub List<T>.ForEach() metody.

for(var i=0;i<persons.Count;i++)
    {
        Console.WriteLine(persons[i].Name);
        Console.WriteLine(persons[i].Id);
    }

Podsumowanie

W tym tutorialu dowiedzieliśmy się, jak zapętlić listę w C# używając instrukcji foreach, List<T.ForEach oraz for.