3 erinevat viisi C# loendi läbimiseks
List<T>
on üks enim kasutatavaid andmestruktuure C# keeles.
Iteratsioon üle List<T>
ja mõningate operatsioonide teostamine loendi elementidega on meie igapäevastes projektides üsna tavaline.
Loendi läbimiseks C# keeles saame kasutada 3 erinevat võimalust.
- Kasutades C#
foreach
avaldust. - Kasutades C#
List.ForEach
meetodit. - Kasutades lihtsat for-tsüklit.
Vaatame läbi näite, et seda paremini mõista.
Kõigepealt loome lihtsa C# loendi.
List<string> languages = new List<string>() { "C#","Asp.Net","DotNet Core"};
Nüüd näeme erinevaid võimalusi C# loendi loopimiseks.
Kasutades C# foreach
avaldust
Kasutades foreach
avaldust C# loendi loopimiseks on laialdaselt kasutatav meetod.
Ja edasi saame teha mis tahes operatsiooni loendi elementidega.
Alljärgnevas näites olen loonud stringide loendi.
Seejärel loopimine selle loendi abil foreach
ja seejärel loendi elementide printimine konsooli.
///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);
}
}
Nüüd loome objektide loendi ja loopime neid kasutades foreach
avaldust.
Määratlesime klassi Person
ja lõime nimekirja kahe isiku elemendiga.
List<Person> persons = new List<Person>()
{
new Person() { Id = 1, Name="Arun" },
new Person() { Id = 2, Name="Kumar"}
};
Nüüd saame kasutada foreach
avaldust, et loopida läbi objektide loendi.
void loopListOfObjects(List<Persons> persons){
foreach(var person in persons)
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
}
}
Kasutades C# List.ForEach
meetodit
List<T>.ForEach
meetod teostab antud action
igale elemendile Listis.
See võtab vastu Action<T>
delegate parameetri.
Järgnev näide teeb looopi läbi objektide loendi, kasutades Action<T>
delegate.
persons.ForEach((person) =>
{
Console.WriteLine(person.Name);
Console.WriteLine(person.Id);
});
Kasutades for
avaldust
Me võime kasutada pärimusavaldust for
C# loendi läbimiseks, kui soovite teha loendi elementidega mis tahes toiminguid indeksi alusel.
Muul juhul jääb foreach
või List<T>.ForEach()
meetodite juurde.
for(var i=0;i<persons.Count;i++)
{
Console.WriteLine(persons[i].Name);
Console.WriteLine(persons[i].Id);
}
Kokkuvõte
Selles õpiobjektis õppisime, kuidas loendist läbi käia C# keeles, kasutades foreach
, List<T.ForEach
ja for
avaldust.