C# 深入日期列表的linq帮助

C# 深入日期列表的linq帮助,c#,linq-to-sql,C#,Linq To Sql,我有一节课,上面有一张第二节课的名单,上面有一张日期的名单。在顶级课程中获得完整日期列表的最佳方法是什么 鉴于以下情况: Class 1 contains: Public List<Class2> Class2List; Class 2 contains: List<DateTime> DateList; 1类包含: 公共列表2类列表; 第2类包括: 列表日期列表; 在第1课中,获取完整日期列表的最佳方法是什么?我知道我可以循环浏览每一个Class 2项目,然后

我有一节课,上面有一张第二节课的名单,上面有一张日期的名单。在顶级课程中获得完整日期列表的最佳方法是什么

鉴于以下情况:

Class 1 contains:

Public List<Class2> Class2List;

Class 2 contains:

List<DateTime> DateList;
1类包含:
公共列表2类列表;
第2类包括:
列表日期列表;
在第1课中,获取完整日期列表的最佳方法是什么?我知道我可以循环浏览每一个Class 2项目,然后通过这种方式获得列表,但我希望LINQ有一种更干净的方式

List<DateTime> tempDateList;

Foreach (var Class2 in Class2List)
{


Foreach (var dt in Class2.DateList)
{
            tempDateList.Add(dt);
}

}

Return tempDateList;
List-tempDateList;
Foreach(Class2列表中的var Class2)
{
Foreach(Class2.DateList中的var dt)
{
tempDateList.Add(dt);
}
}
返回日期列表;
忘记了
ToList
,因为那是你想要的。

真的很简单

var tempDateList = Class2List.SelectMany(x => x.DateList).ToList();
  • SelectMany(x=>x.DateList)
    在这里基本上就像一个内部循环,创建一个连续的序列(第一个类的所有
    DateList
    ,第二个类的所有
    DateList
    ,等等)
  • ToList()
    从该数据创建一个具体的
    列表
  • var tempDateList
    是完全静态类型的,并从表达式推断
    List
var tempDateList = Class2List.SelectMany(x => x.DateList).ToList();