Ich habe zwei Listen. Die erste Liste enthält Werte wie Buchstaben und Zahlen. Länge ist [0] - [36]. Zweite Liste enthält ähnliche Werte und Länge ist auch [0] - [36].Listenelement basierend auf Index c entfernen #
Ich wiederhole zweite Liste zweimal mit bestimmten Werten, um einen Indexschlüssel zu greifen, und wenn ich den Indexschlüssel von der zweiten Liste ergreife, möchte ich Elemente in der ersten Liste basierend auf Indizes vom zweiten entfernen.
Problem ist, dass zweite Iteration nicht mehr funktioniert, weil Indexschlüssel in der ersten Liste geändert hat.
Ich sollte wahrscheinlich Liste in ein Array konvertieren (Array hat feste Indexschlüssel, Liste generiert nach), aber ich weiß nicht, wie Indexschlüssel aus einem Array hinzufügen oder entfernen.
Ich benutze nicht Linq.
Schätzen Sie Ihre Hilfe und Vorschläge BR
Codebeispiel:
List<int> list_z = new List<int>();
List<int> list_k = new List<int>();
for (int i = 0; i < second_list.Count; i++) {
if (second_list[i] == "K")
{
list_k.Add(i);
}
}
int k = list_k.Count;
for (int i = 0; i < k; i++) {
first_list.RemoveAt(list_k[i]);
}
for (int i = 0; i < second_list.Count; i++)
{
if (second_list[i] == "Z")
{
list_z.Add(i);
}
}
int z = list_z.Count;
for (int i = 0; i < svi_z; i++)
first_list.RemoveAt(lista_z[i]); //here is error, because first_list doesnt have index key number 36 anymore
}
Können Sie ein Wörterbuch benutzen? Was ist dein Ziel hier? Ich denke, dass es eine viel einfachere Lösung geben könnte. –