今天在使用Linq的时候,查询很慢。仔细查看在知道,在in的后面跟的是个方法,这个方法返回一个集合。
Linq只是语法糖,内部进行了封装。内部的实现也是遍历集合,找到满足条件的元素。
在in的后面使用方法返回的集合,相当于Linq在遍历的时候,每次都执行这个方法。
因此,需要注意:在遍历的内部,不要调用方法,返回一个集合,而应该是在遍历之前,保存一下方法返回的集合,遍历的时候使用。