Grundsätzlich möchte ich ein Element aus einer Liste entfernen, während in der Foreach-Schleife. Ich weiß, dass dies bei Verwendung einer for-Schleife möglich ist, aber für andere Zwecke würde ich gerne wissen, ob dies mit einer foreach-Schleife möglich ist.Ändern der Sammlung bei Verwendung einer foreach-Schleife in C#
In Python können wir dies erreichen, indem die folgenden Schritte ausführen:
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
print i
if i == 1:
a.pop(1)
Dies ergibt die folgende Ausgabe
>>>1
3
4
5
6
7
8
9
Aber wenn etwas ähnliches in C# zu tun, ich eine InvalidOperationException, ich habe mich gefragt, Wenn es eine Möglichkeit gäbe, dies zu umgehen, ohne einfach eine For-Schleife zu verwenden.
Der Code in C#, die ich verwenden, wenn die Ausnahme ausgelöst wurde:
static void Main(string[] args)
{
List<string> MyList = new List<string>(new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9"});
foreach (string Item in MyList)
{
if (MyList.IndexOf(Item) == 0)
{
MyList.RemoveAt(1);
}
Console.WriteLine(Item);
}
}
Vielen Dank im Voraus
Ich habe mich hauptsächlich gefragt, ob ich etwas irgendwo mit der Foreach-Instanz verpasst habe, aber wenn es nicht erreichbar ist, ist es zumindest bestätigt! Danke für die Antwort – ThePower