Bei einem Foreach dar man kein Remove machen, aber es geht viel einfacher.
Wichtig ist, dass man die Auflistung rückwärts durchläuft, hier das Beispiel:
DataTable dt = new DataTable();
dt.Columns.Add(“Test”);
DataRow dr1 = dt.NewRow();
dr1[“Test”] = “Hallo1”;
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2[“Test”] = “Hallo2”;
DataRow dr3 = dt.NewRow();
dr3[“Test”] = “Hallo3”;
DataRow dr4 = dt.NewRow();
dr4[“Test”] = “Hallo4”;
DataRow dr5 = dt.NewRow();
dr5[“Test”] = “Hallo5”;
dt.Rows.Add(dr2);
dt.Rows.Add(dr3);
dt.Rows.Add(dr4);
dt.Rows.Add(dr5);
var Rows = dt.Rows;
for (int i = Rows.Count -1; i > 0; i–)
{
DataRow dr = (DataRow)Rows[i];
if (dr[0].ToString() == “Hallo3”)
{
dt.Rows.Remove(dr);
}
}