我有一个带有第二类列表的类,它有一个日期列表。在顶级课程中获取整个日期列表的最佳方法是什么?
鉴于以下内容:
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;
答案 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}}