如何检查IEnumerable <DataRow>返回null或有任何行?

nik*_*owj 3 c# linq

我有一个类似下面的linq查询.

IEnumerable<DataRow> query= (from item in IItemsTable.AsEnumerable()
                         where somecondition
                         select item);
Run Code Online (Sandbox Code Playgroud)

如何检查查询是否包含任何行或为空?

Geo*_*ett 12

您可以使用扩展方法Any():

if(query.Any())
{
    //query has results.
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您只关心是否存在行(并且随后不对这些行执行某些操作),则可以使用另一个重载Any()来在一行中执行:

bool queryhasresults = IItemsTable.AsEnumerable().Any(item => somecondition);
Run Code Online (Sandbox Code Playgroud)