3 modi diversi per eseguire il loop di una lista in C#
List<T> sono una delle strutture dati più utilizzate nel linguaggio C#.
L’iterazione su un elenco List<T> ed eseguire alcune operazioni sugli elementi dell’elenco sono abbastanza comuni nei nostri progetti quotidiani.
Per eseguire un ciclo su un elenco in C# possiamo utilizzare 3 modi diversi.
- Utilizzando l’istruzione C#
foreach. - Utilizzando il metodo C#
List.ForEach. - Utilizzo di un semplice ciclo for.
Vediamo un esempio per capire meglio.
Per prima cosa creeremo un semplice elenco in C#.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Ora vedremo diversi modi per eseguire il loop di un elenco in C#.
Utilizzando l’istruzione C# foreach
L’uso dell’istruzione foreach per eseguire il loop di un elenco in C# è un metodo molto utilizzato.
Inoltre, è possibile eseguire qualsiasi operazione sugli elementi dell’elenco.
Nell’esempio seguente ho creato un elenco di stringhe.
Quindi ho eseguito un ciclo su tale elenco utilizzando foreach e stampando gli elementi dell’elenco sulla console.
///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);
}
}
Ora creeremo un elenco di oggetti e li metteremo in loop utilizzando l’istruzione foreach.
Abbiamo definito una classe Person e creato un elenco con due elementi persona.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Ora possiamo usare l’istruzione foreach per scorrere l’elenco di oggetti.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Utilizzando il metodo C# List.ForEach
List<T>.ForEach esegue il metodo action su ciascun elemento della lista.
Accetta Action<T> un parametro delegato.
L’esempio seguente scorre l’elenco di oggetti utilizzando il metodo Action<T> delegato.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Utilizzando l’istruzione for
È possibile utilizzare l’istruzione legacy for per eseguire il loop di un elenco in C#, se si desidera eseguire un’azione sugli elementi dell’elenco in base all’indice.
Altrimenti, utilizzare i metodi foreach o List<T>.ForEach() metodi.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Riepilogo
In questo tutorial abbiamo imparato come eseguire il loop di una lista in C# utilizzando le istruzioni foreach, List<T.ForEach e for.