Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq和lambda展平列表_C#_Linq_Nhibernate_Lambda_Extension Methods - Fatal编程技术网

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);