结合两个LinQ查询

时间:2014-08-15 04:23:12

标签: c# linq

下面我有两个linQ查询,我想知道是否有办法将两者结合起来。基本上我有一个字符串列表。然后从该字符串列表中,我想创建一个新的对象列表,并根据对象的属性对其进行排序。然后将返回已订购的新对象列表。

var dirs = from file in myList
     select new DirectoryInfo(file);

var dirOrdered = from file in dirs
     orderby file.CreationTime ascending
     select file;

是否可以使用一个var并在一个查询中完成而不是两个单独的查询?

3 个答案:

答案 0 :(得分:2)

您可以这样做:

var dirs = from file in myList
     let fileInfo = new DirectoryInfo(file)
     orderby fileInfo.CreationTime ascending
     select fileInfo;

答案 1 :(得分:0)

是的,您可以尝试这样的事情:

 var dirs = (from file in myList
               select new DirectoryInfo(file)).OrderBy(x => x.CreationTime);

答案 2 :(得分:0)

如果您更喜欢点符号,可以这样做:

var dirs = myList.Select(x => new DirectoryInfo(x)).OrderBy(x => x.CreationTime);