我尝试了很多事情,但对我来说,最合乎逻辑的事情似乎是这样的:
int divisor = AllMyControls.Take(p => p.IsActiveUserControlChecked).Count();
AllMyControls
是UserControls
的集合,我想知道多少UserControls
的IsActiveUserControlChecked
属性设置为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/