我有一个IEnumerable类型的列表。
在我的linq中,我只想说一下此列表的计数是否大于0并且包含在查询中,那么它应该仅包含列表中包含ref的结果,否则,如果count为零,则返回所有结果。
我遇到了错误:
operator>不能应用于类型为method group和 'init'
public IEnumerable<int> Workareas { get; set; }
var workareas = trackAnalyticsService.GetWorkareas(new Track.TrackDataFilter(new int[] { companyId }, null, from, to, userFirmRef), maxWorkareas);
答案 0 :(得分:0)
operator>不能应用于方法组和'init'类型的操作数
您是否应该最后一个单词是“ init”而不是“ int”? (更有意义)。
大概在某个地方有workareas.Count > 0
。除IEnumerable
没有Count
属性外;他们有一个Count()
方法。 (由于在使用不带参数的方法名称时,方法可能有很多重载,因此称为“方法组”)
因此,您需要workareas.Count() > 0
。但是实际上,您需要workareas.Any()
(一旦找到一个,它就会停止查找,而不是逐一计数)。