2011-01-05 84 views
0

您好我想一个LINQ语句转换List<IQueryable<Object>>List<Object> 我返回List<IQueryable<Object>>这样我就可以使用其中的部分Iquerable但我可以明白这一点对我自己的“希望”。如果问题太模糊,我可以根据需要提供更多细节。LINQ的MERGE语句需要

这是我能解释的最好的。我运行一个for循环,每次迭代我都试图联合它,但它并不工作,因为每次迭代都是不同的类型,即不同的对象,但它实现了ITaglink,但这并不重要。 我决定将它添加到列表中。现在我有一个IQuerable<ITagLink>的列表,但我宁愿将每个ITaglink中的List<IQueryable<ITagLink>>放置在另一个list<ITagLink>中,但我想要一个linq语句来执行此操作。 P.S我不确定扁平化是什么,但我现在要谷歌。

+0

你可以做这样的事情'名单列表= iqueryableList.ToList ();'但我怀疑这真的是你想要的。你应该更详细地说。 – Gabe 2011-01-05 06:09:33

+0

这不是合并,而是扁平化。 – leppie 2011-01-05 06:21:51

回答

3

你想要所有的object从所有的IQueryable<object> s,对吧?

list.SelectMany(x => x); 

如果你真的需要这是一个List<object>,加.ToList()

+0

+1。为了使其更清晰,这里定义IQibeable :public interface IQueryable :IEnumerable ,IQueryable,IEnumerable。所以如果问题是要枚举enumerable的枚举,那么使用SelectMany是最优雅的方法。 – Schultz9999 2011-01-05 06:30:39