2011-01-05 126 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