У меня есть datatable, dtFoo и хотел бы получить количество строк, удовлетворяющих определенным критериям.
EDIT: эти данные не хранятся в базе данных, поэтому использование SQL не является вариантом.
В прошлом я использовал следующие два метода для этого:
Метод 1
int numberOfRecords = 0;
DataRow[] rows;
rows = dtFoo.Select("IsActive = 'Y'");
numberOfRecords = rows.Length;
Console.WriteLine("Count: " + numberOfRecords.ToString());
Метод 2
int numberOfRecords = 0;
foreach (DataRow row in dtFoo.Rows)
{
if (row["IsActive"].ToString() == "Y")
{
numberOfRecords++;
}
}
Console.WriteLine("Count: " + numberOfRecords.ToString());
Мой магазин пытается стандартизировать несколько вещей, и это одна из проблем, которые возникли. Мне интересно, какой из этих методов лучше всего подходит с точки зрения производительности (и почему!), А также наиболее часто используется.
Кроме того, существуют ли лучшие способы достижения желаемых результатов?