3 skirtingi ciklo per C# sąrašą sudarymo būdai
List<T> yra viena iš dažniausiai naudojamų duomenų struktūrų C# kalboje.
Iteravimas per List<T> ir atlikti tam tikras operacijas su sąrašo elementais yra gana dažni kasdieniai projektai.
Norėdami sudaryti ciklą per sąrašą C# kalba, galime naudoti 3 skirtingus būdus.
- Naudodami C#
foreachkomandą. - Naudojant C#
List.ForEachmetodą. - Naudojant paprastą for ciklą.
Kad geriau suprastumėte, panagrinėkime pavyzdį.
Pirmiausia sukursime paprastą C# sąrašą.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Dabar pamatysime įvairius C# sąrašo ciklo sudarymo būdus.
Naudojant C# foreach teiginį
Naudojant foreach sakinį C# sąrašui cikluoti plačiai naudojamas metodas.
Be to, su sąrašo elementais galime atlikti bet kokią operaciją.
Toliau pateiktame pavyzdyje sukūriau eilučių sąrašą.
Po to šį sąrašą surašiau į ciklą naudodamas foreach ir toliau spausdinau sąrašo elementus konsolėje.
///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);
}
}
Dabar sukursime objektų sąrašą ir sudarysime jų ciklą naudodami foreach teiginį.
Apibrėžėme Person klasę ir sukūrėme sąrašą su dviem asmenimis elementais.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Dabar galime naudoti foreach komandą, norėdami cikliškai peržiūrėti objektų sąrašą.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Naudojant C# List.ForEach metodą
List<T>.ForEach metodas kiekvienam sąrašo elementui atlieka duotą action veiksmą.
Jis priima Action<T> delegato parametras.
Toliau pateiktame pavyzdyje ciklas per objektų sąrašą naudojant Action<T> delegatą.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Naudojant for teiginį
Jei norite atlikti kokį nors veiksmą su sąrašo elementais pagal indeksą, galime naudoti senąjį for teiginį, kad per C# sąrašą būtų galima atlikti ciklą.
Priešingu atveju naudokite foreach arba List<T>.ForEach() metodais.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Santrauka
Šioje pamokoje sužinojome, kaip C# kalba sudaryti ciklą per sąrašą, naudojant foreach, List<T.ForEach ir for teiginius.