Я бы предложил что-то вроде: -
bool nonEmptyDataSet = dataSet != null &&
(from DataTable t in dataSet.Tables where t.Rows.Count > 0 select t).Any();
Изменения: Я значительно очистил код после должного рассмотрения, я думаю, что это намного чище. Большое спасибо Китаю за вдохновение относительно использования .Any ().
В соответствии с предложением Кейта, вот вариант метода расширения этого подхода: -
public static class ExtensionMethods {
public static bool IsEmpty(this DataSet dataSet) {
return dataSet == null ||
!(from DataTable t in dataSet.Tables where t.Rows.Count > 0 select t).Any();
}
}
Обратите внимание, что, как правильно поправил меня Кит в комментариях к своему посту, этот метод будет работать, даже если набор данных будет нулевым.