我可以做LINQ选择与.select而不必使用类对象
本文关键字:不必 对象 select LINQ 选择 我可以 | 更新日期: 2023-09-27 18:11:22
我想首先,什么是更好的做法?
List<Employee> _employee = new List<Employee>();
var _test = xDoc.Descendants("RID")
.Select (x => new Employee()
{
}
或者使用Var列表或其他东西?如果这是更好的选择,我会怎么做?这只是从xDoc中提取1-2条数据。
这取决于您将如何处理该类型(将其传递到方法外部)。匿名类型是由编译器生成的类,您不必自己费力地生成它们。但是你也不能把它们传递给其他方法
如果你不打算在方法之外使用对象,你可以创建一个匿名类型,如下所示:
var _employee = xDoc.Descendants("RID")
.Select (x => new
{
FirstName = //Something
//Other properties here
}).ToList(); //ToList optional
它仍然是强类型的,但是你不能返回它,因为你不能指定一个匿名类型作为返回类型。(除非在c# 4中使用dynamic
)