Any()在这个LINQ查询中的含义是什么?

NoC*_*nce 6 c# linq any

什么是Any()在下面的查询做什么?

context.Customers
    .Include("InternetSales")
    .Where(c => c.InternetSales.Any())
    .Take(100);
Run Code Online (Sandbox Code Playgroud)

你怎么用简单的英语读出这个查询?例如,以下内容是否准确?

"让客户获得相关的100个互联网销售额."

(我知道代码中没有"获取",但你明白我的意思.)

sta*_*ica 19

Any运营商检查是否有些枚举/集合包含至少一个项目,即是否非空.

所以我想你的查询可以读作:

"首批至少进行过一次互联网销售的100家客户"

或者,更接近金属:

"前100个Customer具有非空集合的对象InternetSales"

.Any()类似于.Count() > 0,但它将消耗集合中的至多一个项目,同时Count消耗完整的集合,因此Any通常更有效并且也适用于无限序列.如果您对确切的项目数量不感兴趣,Any也表示更清楚地检查非空虚的意图.