【问题标题】:Combining two LinQ queries结合两个 LinQ 查询
【发布时间】:2014-08-15 04:23:12
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    你可以这样做:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 这也有效,但我只能接受一个答案。感谢您的选择
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        相关资源
        最近更新 更多