IEnumerable 中的 Count、Sum、Select、SelectMany、Where 是什么意思?

IEnumerable 的 Count、Sum

Count 参数是条件Sum 参数是需要合计的属性。Count 表示符合条件的有多少个,Sum 表示这个属性的值加起来是多少。

答案见代码中的注释。

IEnumerable 的 Select、SelectMany

Select 参数常常容易误解,到底是跟条件还是跟投射呢?其实都可以,但是:跟条件也并不表示选择符合条件的,而是计算条件以返回结果,返回一个 IEnumerable<bool> 记录的是哪些是符合条件的(true),哪些是不符合条件的(false)。如下:

如果是跟投射:

SelectMany 是用来处理二层循环的,如果没有两层,是用不起的,示例:

本来要写两层循环,现在写一层就可以了,结果为:1,2,3,a,b,c,A,B,C,

改造一下:

结果为:1.,2.,3.,a.,b.,c.,A.,B.,C.,

可以看出,只有 Count 的参数是真正的条件表达式,那如果我们除了 Count,也想作个条件,仅对符合条件的项进行操作,怎么办呢?用 Where。

 

你可能感兴趣的