linq帮助深日期列表

时间:2011-07-20 19:50:59

标签: c# linq-to-sql

我有一个带有第二类列表的类,它有一个日期列表。在顶级课程中获取整个日期列表的最佳方法是什么?

鉴于以下内容:

Class 1 contains:

Public List<Class2> Class2List;

Class 2 contains:

List<DateTime> DateList;

获得1级日期的完整日期列表的最佳方法是什么?我知道我可以循环遍历每个Class 2项目,然后以这种方式获取列表,但我希望LINQ有一种更清晰的方式。

List<DateTime> tempDateList;

Foreach (var Class2 in Class2List)
{


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

}

Return tempDateList;

2 个答案:

答案 0 :(得分:4)

var tempDateList = Class2List.SelectMany(x => x.DateList()).ToList();

忘记了ToList,因为这就是你想要的。

答案 1 :(得分:1)

非常简单;

var tempDateList = Class2List.SelectMany(x => x.DateList).ToList();
  • SelectMany(x => x.DateList) 本质上在这里执行内循环,创建一个连续的序列(来自第一个类的所有DateList,来自DateList的所有ToList()来自第二课等)
  • List<DateTime>根据该数据创建具体的var tempDateList
  • List<DateTime>是完全静态类型的,并从表达式中推断{{1}}