不继承 IEnumerable 或 IQueryable 的类型怎么使用 LINQ 查询

 我来答
竹内良太
2013-11-10 · TA获得超过374个赞
知道答主
回答量:125
采纳率:75%
帮助的人:64.4万
展开全部
实现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 查询呢?让我们继续探讨吧!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式