2011-10-14 59 views
0

我想知道首先,有什麼更好的做法?我可以做一個LINQ選擇與選擇,而不havng使用類對象

List<Employee> _employee = new List<Employee>(); 
var _test = xDoc.Descendants("RID") 
     .Select (x => new Employee() 
      { 


      } 

或者使用Var列表或其他東西?如果這是更好的選擇,我該如何做到這一點?這隻能從xDoc中提取1-2個數據。

回答

1

如果你不打算使用的方法以外的對象,你可以創建一個匿名類型,像這樣:

var _employee = xDoc.Descendants("RID") 
    .Select (x => new 
     { 
     FirstName = //Something 
     //Other properties here 
     }).ToList(); //ToList optional 

它仍然是強類型的,但你不能歸還因爲它不能指定一個匿名類型作爲返回類型。 (除非在C#4中使用dynamic

2

這取決於你打算如何處理類型(將它傳遞給方法之外)。匿名類型是由編譯器生成的類,您不必親自去創建它們。但是,你再也不能將它們傳遞給其他方法。