我有两个不同类型的列表 a 和 b ,我想从列表 b 中选择数据 c b.SureName = a.SName和b.LastName = b.LName和b.Date> = a.StartDate和b.Date< = a.EndDate。
列表可以吗?我认为 c 列表类型需要与 b 相同?
答案 0 :(得分:0)
你可以做到
public List<C> GetProperty(List<A> a, List<B> b)
{
IEnumerable<IEnumerable<C>> ccc =
b.Select(bb => a.Where(aa => bb.SureName == aa.SName &&
bb.LastName == aa.LName &&
bb.Date >= aa.StartDate &&
bb.Date <= aa.EndDate)
.Select(cc => new C() { FullName = cc.SName + " " + cc.LName }));
return ccc.SelectMany(c => c).ToList();
}
public class A
{
public string SName { get; set; }
public string LName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
public class B
{
public string SureName { get; set; }
public string LastName { get; set; }
public DateTime Date { get; set; }
}
public class C
{
public string FullName { get; set; }
}