我首先想知道,更好的做法是什么?
List<Employee> _employee = new List<Employee>();
var _test = xDoc.Descendants("RID")
.Select (x => new Employee()
{
}
或使用Var列表或其他?如果这是一个更好的选择,我该怎么做?这只是从xDoc中提取1-2个数据。
答案 0 :(得分:2)
这取决于你要对类型做什么(将它传递给方法之外)。匿名类型是由编译器生成的类,您不必自己完成生成它们的工作。但是你又不能将它们传递给其他方法。
答案 1 :(得分:1)
如果你不打算在方法之外使用对象,你可以像这样创建一个匿名类型:
var _employee = xDoc.Descendants("RID")
.Select (x => new
{
FirstName = //Something
//Other properties here
}).ToList(); //ToList optional
它仍然是强类型的,但是你不能返回它,因为它不能指定匿名类型作为返回类型。 (除非你在C#4中使用dynamic
)