检查数据表列中出现的单词的出现位置

时间:2013-01-07 10:21:01

标签: c# system.data.datatable

我在数据表中有以下数据,这是示例数据。我希望在数据表中出现12,13,因为通常在数据表中会有10到20万行。

Customer  |  quantity  |  Product  | Code 

1         |  3         |  Product  | 12 
2         |  4         |  Product  | 13 
3         |  1         |  Product  | 12 
4         |  6         |  Product  | 13 

2 个答案:

答案 0 :(得分:0)

您可以使用Linq-To-DataTable

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

但是,如果数据表中有10-20万行,则应考虑在数据库中进行过滤。

如果您想知道它们出现的数字:

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

答案 1 :(得分:0)

如何简单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;
}