C# 检查每行的列中的值
DataTable dt存储检索到的carID和makes的值,因此它在DataTable中存储了3行,我还有另一个DataTable dt2,它也存储carID和makes,我正在尝试遍历dt中的每一行,以查看dt中存储的任何carID是否存在于dt2中的任何行中,这是我到目前为止得到的结果:C# 检查每行的列中的值,c#,asp.net,datatable,rows,C#,Asp.net,Datatable,Rows,DataTable dt存储检索到的carID和makes的值,因此它在DataTable中存储了3行,我还有另一个DataTable dt2,它也存储carID和makes,我正在尝试遍历dt中的每一行,以查看dt中存储的任何carID是否存在于dt2中的任何行中,这是我到目前为止得到的结果: DataTable dt = w.getUserCars(userID); foreach (DataRow dr in dt.Rows) { string carID = dr["carID"]
DataTable dt = w.getUserCars(userID);
foreach (DataRow dr in dt.Rows)
{
string carID = dr["carID"].ToString();
}
如何做到这一点?您应该能够使用DataTable实现这一点。选择方法。你在正确的轨道上。您只需要添加方法来查找dt2中的行
是否可以执行IF语句来检查dt2中是否存在d1中的任何carID?IF foundRows.Count>0将提供所需的结果。或者您可以像其他一些答案建议的那样使用LINQ。我需要特别获得一行,以便删除itI。我将向我的答案添加一个编辑,以向您展示如何完成此操作。DataTable不包含删除的定义
DataTable dt = w.getUserCars(userID);
DataRow[] foundRows;
foreach (DataRow dr in dt.Rows)
{
string carID = dr["carID"].ToString();
foundRows = dt2.Select("carID = " + carID);
// do stuff here with foundRows
foreach (DataRow r in foundRows)
{
r.Delete();
}
}