当前位置:  开发笔记 > 小程序 > 正文

Linq Query不返回IEnumerable

如何解决《LinqQuery不返回IEnumerable》经验,为你挑选了1个好方法。

我有跟随Linq查询,该查询位于从.NET 1.1转换为3.5的Web应用程序中:

dim objListOfFilteredDataRows = from datarows as datarow in objDataSet.tables(0).rows _
                                where datarows("SomeColumn") = SomeValue

我在使用.NET 3.5创建的应用程序中具有完全相同的查询,并且查询返回IEnumerable.但是,已转换的应用程序中的查询将返回:

{Name = "WhereEnumerableIterator`1" FullName = "System.Linq.Enumerable+WhereEnumerableIterator`1[[System.Data.DataRow, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}

**编辑:当我突出显示表达式时,intellisense表示它不知道objListOfFilteredDataRows的类型并假定它的类型为"Object".

为什么在转换后的1.1应用程序中没有输入类型,但是在"原生"3.5中是不同的?**

我在这里错过了什么?如何将"WhereEnumeratorIterator`1转换为IEnumerable?谢谢!



1> Hans Passant..:

不,你确实得到了IEnumerable.它恰好由System.Linq.Enumerable命名空间内的一个类实现,这是一个私有类.这是不可避免的,没有办法创建一个接口的实例.不要让调试器信息让你走错了轨道.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有