假设我有两个模型/类。
public class Male
{
public int RunNumber { get; set; }
public string Notes { get; set; }
public DateTime thing {get ; set;}
}
public class Female
{
public int StopNumber { get; set; }
public string Notes { get; set; }
public DateTime? thing {get;set;}
}
我想通过合并List<People>
和List<Male>
来List<Female>
。每当我看LINQ,我的大脑都不会与我合作。我认为它已经结束了。
答案 0 :(得分:0)
假设你不想过于花哨,那么有一个原因是男性和女性。女性有不同的成员(没有双关语),不继承共同的父母,创建数据传输对象,并使用选择映射到它。
public class Person
{
public int StopNumber { get; set; }
public string Notes { get; set; }
public DateTime? thing { get; set; }
public bool IsMale { get; set; }
}
public List<Person> Join(List<Male> males, List<Female> females)
{
return
males.Select(
n => new Person() {
IsMale = true,
Notes = n.Notes,
StopNumber = n.RunNumber,
thing = n.thing}
).Concat(
females.Select(
m => new Person() {
IsMale = false,
Notes = m.Notes,
StopNumber = m.StopNumber,
thing = m.thing})
).ToList();
}
但是 - 如果他们可以继承一个普通的Person基类并拥有通用的成员名称,它将使您的生活变得更加容易。