C#: Index einer Liste ausgeben?
Hallo!
Wir stellen uns vor, wir haben in C# eine neue string-Liste angelegt und füllen diese erstmals mit Namen.
List<string> nameList = new List<string>();
nameList.Add("Max");
nameList.Add("Marie");
nameList.Add("Hubert");
nameList.Add("Lisa");
Und nun will ich die Liste mit einer foreach-Schleife ausgeben.
foreach(string name in nameList)
{
CWL(name);
}
Allerdings will ich nicht nur den Namen, sondern auch einen Index dazu ausgeben... Geht das mit der foreach-Schleife, oder ist dabei unbedingt die normale for-Schleife notwendig?
Danke
2 Antworten
Wenn die Strings in der Liste eindeutig sind kannst du folgendes machen:
foreach (string name in nameList)
{
Console.WriteLine(name);
Console.WriteLine(nameList.IndexOf(name));
}
Ansonsten kommst du um eine index-basierte Schleife nicht drumherum. Mal abgesehen davon dass es auch deutlich eleganter ist in diesem Fall eine for-Schleife zu nutzen, da ansonsten für jeden String der Index erstmal aufwändig ermittelt werden muss.
Eine Zählerschleife ist nicht unbedingt notwendig, aber wäre für deinen Fall am besten geeignet.
Dennoch eine Lösung mit foreach:
int index = 0;
foreach (string name in nameList)
{
Console.WriteLine($"{index}: {name}");
++index;
}