我有一个类型为IEnumerable的列表。
在我的linq中,我只想说,如果这个列表的计数大于0,并且它包含在查询中,那么它应该只包含列表中包含ref的结果,否则,如果计数为零,则返回all。
我得到错误:
运算符>不能应用于类型为方法组和"初始化">
public IEnumerable<int> Workareas { get; set; }
var workareas = trackAnalyticsService.GetWorkareas(new Track.TrackDataFilter(new int[] { companyId }, null, from, to, userFirmRef), maxWorkareas);
运算符>不能应用于方法组和'init'类型的操作数
最后一个字应该是"init"而不是"int"吗?(智力更有意义(。
大概在某个地方你有workareas.Count > 0
。除了IEnumerable
没有Count
属性;它们具有CCD_ 4方法。(因为当你使用一个没有参数的方法名时,一个方法可能会有很多重载,所以它被称为"方法组"(
所以,你想要workareas.Count() > 0
。但实际上,你想要workareas.Any()
(它一找到一个就会停止查找,而不是计算每个(。