是否可以在LINQ查詢中進行投射(爲了編譯器)?在LINQ查詢中進行投射
下面的代碼並不可怕,但它會很美好,使之成爲一個查詢:
Content content = dataStore.RootControl as Controls.Content;
List<TabSection> tabList = (from t in content.ChildControls
select t).OfType<TabSection>().ToList();
List<Paragraph> paragraphList = (from t in tabList
from p in t.ChildControls
select p).OfType<Paragraph>().ToList();
List<Line> parentLineList = (from p in paragraphList
from pl in p.ChildControls
select pl).OfType<Line>().ToList();
代碼繼續與幾個疑問,但關鍵是我要創建一個列出每個查詢,以便編譯器知道content.ChildControls
中的所有對象都是TabSection
類型,並且t.ChildControls
中的所有對象都是Paragraph
等類型,等等。
在LINQ查詢中有沒有辦法告訴編譯器t
在from t in content.ChildControls
是TabSection
?
這就是OfType()可以。 –
Lucas
2008-10-06 03:55:31