IEnumerable 没有 Count 方法

2023-12-08

我有以下方法:

public bool IsValid
{
  get { return (GetRuleViolations().Count() == 0); }
}

public IEnumerable<RuleViolation> GetRuleViolations(){
  //code here
}

为什么当我这样做时.Count()上面有红色下划线吗?

我收到以下错误:

错误 1“System.Collections.Generic.IEnumerable” 不包含以下定义 “计数”并且没有扩展方法 'Count' 接受第一个参数 类型 'System.Collections.Generic.IEnumerable' 可以找到(您是否缺少 using 指令或程序集 参考?)c:\users\a\documents\visual 工作室 2010\项目\NerdDinner\NerdDinner\模型\Dinner.cs 15 47 NerdDinner


You add:

using System.Linq;

在源代码的顶部,并确保您有对 System.Core 程序集的引用。

Count()是由提供的扩展方法System.Linq.EnumerableLINQ to Objects 的静态类,以及System.Linq.Queryable适用于 LINQ to SQL 和其他进程外提供程序。

编辑:事实上,使用Count()这里效率相对较低(至少在 LINQ to Objects 中)。你想知道的只是是否有any元素与否,对吗?在这种情况下,Any()是一个更好的选择:

public bool IsValid
{
  get { return !GetRuleViolations().Any(); }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IEnumerable 没有 Count 方法 的相关文章

随机推荐