3 различных способа циклического просмотра списка на C#
List<T>
являются одной из наиболее используемых структур данных в языке C#.
Итерация по списку List<T>
и выполнение некоторых операций над элементами списка - довольно частое явление в наших повседневных проектах.
Чтобы выполнить цикл по списку в C#, мы можем использовать 3 различных способа.
- С помощью оператора C#
foreach
. - Используя метод C#
List.ForEach
. - Использование простого цикла for.
Давайте рассмотрим пример для дальнейшего понимания.
Сначала мы создадим простой список на языке C#.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Теперь мы рассмотрим различные способы зацикливания списка C#.
Использование оператора C# foreach
Использование оператора foreach
для зацикливания списка в C# является широко распространенным методом.
В дальнейшем мы можем выполнять любые операции над элементами списка.
В приведенном ниже примере я создал список строк.
Затем зациклил этот список с помощью foreach
и вывел элементы списка на консоль.
///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);
}
}
Теперь мы создадим список объектов и зациклим их с помощью оператора foreach
.
Определили класс Person
и создали список с двумя элементами person.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Теперь мы можем использовать оператор foreach
для циклического просмотра списка объектов.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Используя метод C# List.ForEach
List<T>.ForEach
метод выполняет заданный action
над каждым элементом списка List.
Он принимает Action<T>
параметр делегата.
В следующем примере выполняется цикл по списку объектов с использованием Action<T>
делегата.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Использование оператора for
Мы можем использовать унаследованный оператор for
для циклического просмотра списка C#, если вы хотите выполнить какое-либо действие над элементами списка на основе индекса.
В противном случае используйте foreach
или List<T>.ForEach()
методы.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Резюме
В этом уроке мы узнали, как выполнить цикл по списку в C#, используя операторы foreach
, List<T.ForEach
и for
.