检查出现在数据表列中的单词是否出现



我在一个数据表中有下面的数据,这是示例数据。我希望在数据表中出现12,13,因为通常数据表中有1000 - 2000万行。

Customer  |  quantity  |  Product  | Code 
1         |  3         |  Product  | 12 
2         |  4         |  Product  | 13 
3         |  1         |  Product  | 12 
4         |  6         |  Product  | 13 

简单的for each loop

private int getCount(int yourSearchDigit)
{
    int counter = 0;
    foreach (DataRow dr in youDataTable.Rows)
    {
        if (Convert.ToInt32(dr["Code"]) == yourSearchDigit)
        counter++;
    }
    return counter;
}

您可以使用Linq-To-DataTable:

int[] allowedCodes = new []{ 12, 13 };
var rows = table.AsEnumerable()
                .Where(r => allowedCodes.Contains(r.Field<int>("Code")));

但是,如果你在数据表中有1000万到2000万行,你应该考虑在数据库本身中进行过滤。

如果你想知道它们出现的次数:

int count = table.AsEnumerable()
                 .Count(r => allowedCodes.Contains(r.Field<int>("Code")));

相关内容

  • 没有找到相关文章

最新更新