不继承 IEnumerable 或 IQueryable 的类型怎么使用 LINQ 查询
1个回答
展开全部
实现IEnumerable 接口实现标准的查询方法实现IQueryable 接口扩展已经实现的 LINQ 查询看到其中第二条,让人心生疑惑,那下面就来探讨一下吧~ 什么类型可以进行LINQ 查询?123var queryLondonCustomers = from cust incustomers where cust.City == "London" select cust;很简单的几行代码,这就是 LINQ,这里有几个关键字: from, in, where, select …这几个是新增的关键字,还有别的好多个~关键看这里的 customers ,这里就是一个可以被 LINQ 查询的对象。 按照一般的思路,它一定是继承了某个接口,所以可以用 LINQ 查询。在学习 LINQ 的时候我们常常会看到两个接口:IEnumerable 和 IQueryable ,难道是这两个?备注:这两个接口的区别是,前者提供的是对内存中数据的查询,后者提供的是对远程数据的查询,这里就不展开了。 如果你没有深入了解,恐怕你就会认为的确如此了。这里有两个疑点:如果你说是 IQueryable,那还可以理解,因为这是一个新的接口,但是为什么 IEnumerable 也可以呢?这个可不是一个新接口哦,一般情况下,新版本的.net 怎么可能修改以前的接口呢?如果真是如此,那在 MSDN 的文章中为什么说就算不集成这两个接口,只要实现了基本的查询语句就可以实现 LINQ 查询呢?让我们继续探讨吧!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询