Linq where子句问题

我以为我曾经在某个地方看过一个
where
子句的例子,该子句调用了一个给出
bool
结果的函数,我再也找不到它了,所以我将概述我的问题。 我有一个集合
Dictionary< string, KeyValuePair < int, int >>  
我想在其中查询
string
键。在表面上很简单但不幸的是,字符串(我无法控制)是网格单元的编码坐标。 查询是检索属于网格某一部分的条目(作为
Dictionary
的类型)。放置函数调用
cells.Where(c => isWithinArea(c.Key, area))
编译但不起作用。该函数永远不会被调用。 我欢迎任何建议,以最小的努力使这项工作。     
已邀请:
函数永远不会被调用的最可能的原因是,如果你在“where-ing”的序列没有元素,或者你根本就没有调用枚举器。 LINQ是惰性求值的,这意味着在你开始使用
foreach
ToList()
之前,实际上都没有调用你提供的表达式。     
cells.Keys.Where(key => isWithinArea(key, area))
    

要回复问题请先登录注册