Tableau de données + supprimer une ligne en c# à l'aide de la boucle
J'ai un tableau de données et je veux supprimer une ligne, voici mon code c'est en me jetant une exception
foreach (DataRow row in dt1.Rows)
{
if ((row["Name"] == "Select a Lookbook") || (row["Name"] == "Create a new Lookbook"))
{
row.Delete();
dt1.AcceptChanges();
}
}
J'ai même essayé de l'extérieur de la si de tresorerie et à l'extérieur de forloop encore me lève erreur aucune idée de comment réaliser cette tâche, c'est l'exception-je obtenir:
Collection was modified; enumeration operation might not execute.
Finale du Code de travail:
foreach (DataRow row in dt1.Select())
{
if ((row["Name"] == "Select a Lookbook") || (row["Name"] == "Create a new Lookbook"))
{
row.Delete();
}
}
double possible de en toute sécurité Enlever DataRow Dans ForEach
OriginalL'auteur Developer | 2010-06-30
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser
dt1.Rows
, utilisezdt1.Select()
Le but ici est de ne pas utiliser la collection elle-même, mais plutôt un tableau de ligne qui n'est pas le
Rows
collectionVous m'avez sauvé, je vous remercie beaucoup 🙂
OriginalL'auteur Pierre-Alain Vigeant
Créer une liste de lignes à supprimer lors de l'itération sur
DataTable.Rows
, puis de les supprimer tous séparément.Non-LINQ solution:
LINQ solution:
OriginalL'auteur Jon Skeet
C'est la façon dont je l'ai fait lorsque je suis tombé sur cette question.
OriginalL'auteur Jordan