C# 使用Linq和lambda展平列表
我有课C# 使用Linq和lambda展平列表,c#,linq,nhibernate,lambda,extension-methods,C#,Linq,Nhibernate,Lambda,Extension Methods,我有课 public class MedicalRequest { private int id private IList<MedicalDays> Days private string MedicalUser ... } 我有MedicalUser,所以我可以选择 IList<MedicalRequest> reqList = dao.FindAll(example); IList reqList=dao.FindAll(示例)
public class MedicalRequest
{
private int id
private IList<MedicalDays> Days
private string MedicalUser
...
}
我有MedicalUser,所以我可以选择
IList<MedicalRequest> reqList = dao.FindAll(example);
IList reqList=dao.FindAll(示例);
我希望在这一点上能做的是将医疗日列表展平,并返回DateTime日
差不多
IList<DateTime> dateList = reqList.SelectMany(i => i.MedicalDays.day);
IList dateList=reqList.SelectMany(i=>i.MedicalDays.day);
有人能把我推到正确的方向吗
谢谢你抽出时间 你就快到了:
IEnumerable<DateTime?> dateList = reqList.SelectMany(i => i.MedicalDays)
.Select(m => m.day);
IEnumerable dateList=reqList。选择多个(i=>i.MedicalDays)
.选择(i=>i.day);
谢谢你,Jon,一如既往地非常有帮助。谢谢你的回复,Ben。
IEnumerable<DateTime?> dateList = reqList.SelectMany(i => i.MedicalDays)
.Select(m => m.day);
IEnumerable<DateTime?> dateList = reqList.SelectMany(i => i.MedicalDays,
(i, m) => m.day);
IEnumerable<DateTime?> dateList = reqList.SelectMany(i => i.MedicalDays)
.Select(m => m.day)
.Where(x => x.HasValue)
.Select(x => x.Value);
IEnumerable<DateTime> dateList = reqList.SelectMany(i => i.MedicalDays)
.Select(i => i.day);