3 formas diferentes de fazer um loop através de uma lista C#
List<T>
são uma das estruturas de dados mais utilizadas na linguagem C#.
Iterating over the List<T>
e a realização de algumas operações sobre elementos da lista são, bastante comuns nos nossos projectos diários.
Para percorrer uma lista em C# podemos usar 3 maneiras diferentes.
- Usando a declaração C#
foreach
. - Usando o método C#
List.ForEach
. - Usando simples para loop.
Passemos por um exemplo para o compreender melhor.
Primeiro vamos criar uma lista C# simples.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Agora veremos diferentes formas de fazer o loop de uma lista C#.
Usando a declaração C# foreach
A utilização da declaração foreach
para fazer o laço de uma lista C# é um método amplamente utilizado.
E além disso, podemos realizar qualquer operação dos elementos da lista.
No exemplo abaixo, criei uma lista de cordas.
Em seguida, fazer o looping dessa lista utilizando foreach
e imprimir os elementos da lista na consola.
///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);
}
}
Agora, vamos criar uma lista de objectos e fazer um laço com eles usando a declaração foreach
.
Definiu uma classe Person
e criou uma lista com dois elementos pessoais.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Agora podemos usar a declaração foreach
para percorrer a lista de objectos.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Usando o método C# List.ForEach
List<T>.ForEach
executa o método dado em action
em cada elemento da Lista.
Aceita Action<T>
parâmetro do delegado.
O seguinte exemplo de loop através da lista de objectos usando Action<T>
delegar.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Usando a declaração for
Podemos utilizar o legado for
para percorrer uma lista C#, se quiser realizar qualquer acção sobre os elementos da lista com base no índice.
Caso contrário, ficar com foreach
ou List<T>.ForEach()
métodos.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Resumo
Neste tutorial aprendemos, como percorrer uma lista em C# usando foreach
, List<T.ForEach
e for
declaração.