组合两个LinQ查询

本文关键字:两个 LinQ 查询 组合 | 更新日期: 2023-09-27 18:18:10

我下面有两个linQ查询,我想知道是否有一种方法将它们结合起来。实际上我有一个字符串列表。然后从这个字符串列表中,我要创建一个新的对象列表并根据对象的属性来排序。然后返回这个新的对象列表,该列表已排序。

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

是否有可能使用一个变量,并在一个查询,而不是两个单独的查询完成?

组合两个LinQ查询

你可以这样做:

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

是的,你可以试试这样做:

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

如果您喜欢点表示法,您可以这样做:

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