我在一个数据表中有下面的数据,这是示例数据。我希望在数据表中出现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")));