我尝试了很多事情,但对我来说,最合乎逻辑的事情似乎是这样的:

int divisor = AllMyControls.Take(p => p.IsActiveUserControlChecked).Count();
AllMyControlsUserControls的集合,我想知道多少UserControlsIsActiveUserControlChecked属性设置为true。

我在VS中得到的是:
Cannot convert lambda expression to type 'int' because it is not a delegate type

我的表情怎么了?

最佳答案

int divisor = AllMyControls.Where(p => p.IsActiveUserControlChecked).Count()

或简单地
int divisor = AllMyControls.Count(p => p.IsActiveUserControlChecked);

由于您是初学者,因此值得阅读 Enumerable 文档

关于c# - 如何计算与LINQ匹配条件的元素数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17244039/

10-12 00:28