Data Table + delete a row in c# using loop

前端 未结 3 1696
故里飘歌
故里飘歌 2021-01-04 08:26

I have a data table and I want to delete a row here is my code it\'s throwing me an exception

foreach (DataRow row in dt1.Rows)
{
    if ((row[\"Name\"] == \         


        
3条回答
  •  余生分开走
    2021-01-04 08:41

    Create a list of rows to delete while iterating over DataTable.Rows, then delete them all separately.

    Non-LINQ solution:

    List rowsToDelete = new List();
    foreach (DataRow row in dt1.Rows)
    {
        if ((row["Name"] == "Select a Lookbook") || 
            (row["Name"] == "Create a new Lookbook"))
        {
            rowsToDelete.Add(row);
        }
    }
    foreach (DataRow row in rowsToDelete)
    {
        row.Delete();
    }
    dt1.AcceptChanges();
    

    LINQ solution:

    List rowsToDelete = dt1.Rows.AsEnumerable()
        .Where(row => (row["Name"] == "Select a Lookbook") || 
                      (row["Name"] == "Create a new Lookbook"))
        .Tolist();
    foreach (DataRow row in rowsToDelete)
    {
        row.Delete();
    }
    dt1.AcceptChanges();
    

提交回复
热议问题