Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查是否没有返回数据行_C#_Linq_If Statement_Datatable - Fatal编程技术网

C# 检查是否没有返回数据行

C# 检查是否没有返回数据行,c#,linq,if-statement,datatable,C#,Linq,If Statement,Datatable,我有这样一个选项,用于检查与表达式匹配的数据行: DataRow[] foundRows = this.callsTable.Select(searchExpression); 我如何检查它是否返回了一些数据行,所以基本上如果它不返回任何数据行,则不执行if函数中的操作 我试过: if (foundRows != null) { } 您可以使用数组的Length属性检查是否有行 if (foundRows.Length == 0) 您可以使用LINQ执行以下操作 var areThere

我有这样一个选项,用于检查与表达式匹配的数据行:

DataRow[] foundRows = this.callsTable.Select(searchExpression);
我如何检查它是否返回了一些数据行,所以基本上如果它不返回任何数据行,则不执行if函数中的操作

我试过:

if (foundRows != null) { }

您可以使用数组的
Length
属性检查是否有行

if (foundRows.Length == 0) 

您可以使用LINQ执行以下操作

var areThereAny = foundRows.Any();

var count = foundRows.Count();
如果只想确定是否有符合条件的行,可以执行以下操作:

var anyThatMatch = this.callsTable.Any(selectCondition);

您可以使用计数方法来验证:

if (foundRows.Count() == 0)

像这样检查数组的长度

   if (foundRows.Length > 0) 
   {
        //Your code here
   }
或者也可以使用Count()进行检查


你检查过你的解决方案了吗
foundRows
是一个数组,不能使用
Count
方法,需要检查数组的长度。是的,Soner是正确的。方法Count()与属性Count不同。出于好奇,访问length属性是否比调用Count()更快?我想是的,但我不确定。@NWard
Count()
尽可能优化。从中,如果源类型实现了
ICollection
,则该实现用于获取元素的计数。否则,此方法将决定计数。长度似乎更快,因为它不是一个方法,而是一个属性。但在我看来,它在get期间执行一些操作(不仅仅是从变量中获取一些值)。所以,基本上是一样的。
   if (foundRows.Count() > 0)
   {
     //Your code here
   }