【问题标题】:Efficient way to search specific string in multiple dataTable在多个数据表中搜索特定字符串的有效方法
【发布时间】:2015-12-23 04:16:33
【问题描述】:

我从数据库返回一个包含一个或多个表的数据集。 这些表将具有相同数量的列。

我想用第一个表的特定字符串检查多个表中是否存在任何公共行。

for(int i=0; i<ds.Table[0].Rows.Count;i++)
{
 var firstTableRowValue = ds.Table[0].Rows[i][0].ToString();
 //Check  firstTableRowValue exists in other dataTables if exists retrive other column values and delete that row from the table.
}

在 C# 中最快和最有效的方法是什么

【问题讨论】:

  • 您需要创建一个 unionDataTable,它将包含除第一个表之外的所有表,如下所示:forums.asp.net/t/… 然后使用 linq 执行单个搜索。
  • 我觉得我的要求和他的差别不大。我必须再添加两列才能在另一个表中指定。我的意思是我在 table[1] 中得到了我的搜索字符串让我们说新表应该有 SearchStringColumn |表0_Col1 |表0_Col2 |表 1_Col1 | Table1_Col2 如果在 Table[2] 中找到,则再次添加两列 Table2_Col1 和 Table2_Col2 并继续处理

标签: c# linq c#-4.0 datatable dataset


【解决方案1】:

如果数据表具有相同的结构,则使用 IEnumerable & Intersect 或 except 是有效的。这真的很快。

【讨论】:

    猜你喜欢
    • 2012-01-29
    • 2012-03-23
    • 2010-10-25
    • 2012-12-18
    • 2014-04-02
    • 2019-04-06
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多