当前位置:  开发笔记 > 编程语言 > 正文

LINQ-组合多个列表<T>并按值排序(.Net 3.5)

如何解决《LINQ-组合多个列表<T>并按值排序(.Net3.5)》经验,为你挑选了1个好方法。

我正在尝试组合一些List where T:IGetTime(即T总是有方法getTime()).

然后我想为了通过项目DateTimegetTime()返回.

我的LINQ看起来像这样:

public static List Combine(List one, List two, List three)
    {
        var result = from IGetTime item in one
                     from IGetTime item2 in two
                     from IGetTime item3 in three
                     select new{ item, item2, item3 };

        return result.ToList();
    }

我还没有补充一下orderby.哪个应该看起来像这样:

var thestream = from T item in this
                orderby item.getTime() descending
                select item;

无论如何都要结合并订购最终清单????

提前致谢,

罗伯托



1> Jon Skeet..:

你在这里有三个清单 - 你究竟想要订购什么?

你的演员也是不正确的 - 结果将是一个匿名类型,IEnumerable其中X有三个Ts.

如果想法真的是连接三个列表然后排序,你想要:

return one.Concat(two)
          .Concat(three)
          .OrderByDescending(x => x.GetTime())
          .ToList();

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有