如何将LINQ选择的结果打包成多个对象?使用以下select子句:
select new {
Person = new Person((String)al.Element("firstName"), (String)al.Element("lastName")),
TimePeriod = new TimePeriod((String)al.Element("start"), (String)al.Element("end"))
};
在上面的示例代码段中,Person和TimePeriod是完全未释放的对象。来自Scala背景,如果将结果装入元组,我会很高兴的。由于我是C#的新手,有人可以帮我这个吗?
答案 0 :(得分:5)
如果您想将它们放入Tuple
,则可以执行此操作
select Tuple.Create(new Person(...), new TimePeriod(...));
但建立自己的班级
更合适public class PersonAndTime
{
public PersonAndTime(Person person, TimePeriod timePeriod)
{
Person = person;
TimePeriod = timePeriod;
}
public Person Person{ get; private set; }
public TimePeriod TimePeriod {get; private set; }
}
并且这样做
select new PersonAndTime(new Person(...), new TimePeriod(...));
如果您不需要将查询结果传入或传出方法,那么将其留在匿名类中应该没问题。