将列表中的项目与数据表中的项目进行比较

本文关键字:项目 比较 数据表 列表 | 更新日期: 2023-09-27 18:34:51

这是我的列表:

 List<String> myItems = new List<String>();

这就是我与数据表中的项目进行比较的方式:

  for (int i = 0; i < dt.Rows.Count; i++)
  {
     if (myItems[i].ToString().Trim().Equals(dt.Rows[i][1].ToString().Trim()))
  }

但是,如果项目数不匹配,应用程序将中断。例如,在mylist中有30个项目,但在dt中有35个项目。

将列表中的项目与数据表中的项目进行比较

查找列表中不存在的数据表中

的项目
Items.Except(datatable.AsEnumerable().Select(r => r.Field<string>(columnIndex)));

对于 datable 中不在列表中的项目,反转上述语句

您可以在列表和 dt 之间使用最低计数进行倾斜。所以你不会陷入循环。

List<String> myItems = new List<String>();
int count = myItems.Count>dt.Rows.Count?dt.Rows.Count:myItems.Count; // it will give lowest count between them

现在循环使用此计数

  for (int i = 0; i < count; i++)
  {
     if (myItems[i].ToString().Trim().Equals(dt.Rows[i][1].ToString().Trim()))
  }