2011-10-06 59 views
1

想要過濾和轉換列表。我可以過濾,但無法弄清楚如何轉換。 PROBLEM,return語句返回一個FieldDef列表。如何從fieldsDefs獲取FieldDefsEnum1的列表?提前致謝。LINQ過濾和轉換C#.NET 4.0

FieldDefEnum1 : FieldDef 

    List<FileDef> fieldDefs 

    public List<FieldDefEnum1> FieldDefsEnum1 
    { 
     get 
     { 
      return FieldDefs.Where(fd => fd.GetType() == typeof(FieldDefEnum1)).ToList(); 
     } 
    } 
+0

我在濾鏡和轉換部分2上添加了一個問題 – Paparazzi

回答

5

您可以使用OfType<T>()代替:

return FieldDefs.OfType<FieldDefEnum1>().ToList(); 
+0

Bah,你更快,+1給你。 – Davy8

3
FieldDefs.OfType<FieldDefEnum1>().ToList(); 
2

擅自轉換( 「地圖」)值之間,用Select()

OfType()可能會過濾和轉換您需要更多succintly - 雖然它將包括給定類型的子類,而不僅僅是該特定類型的實例。