为了账号安全,请及时绑定邮箱和手机立即绑定

Linq Order通过对具有相同集合的对象进行分组

Linq Order通过对具有相同集合的对象进行分组

C#
FFIVE 2021-03-30 17:18:51
我有一组对象,它们本身包含一组对象。private class Pilot{    public string Name;    public HashSet<string> Skills;}以下是一些测试数据:public void TestSetComparison(){    var pilots = new[]     {        new Pilot { Name = "Smith", Skills = new HashSet<string>(new[] { "B-52", "F-14" }) },        new Pilot { Name = "Higgins", Skills = new HashSet<string>(new[] { "Concorde", "F-14" }) },        new Pilot { Name = "Jones", Skills = new HashSet<string>(new[] { "F-14", "B-52" }) },        new Pilot { Name = "Wilson", Skills = new HashSet<string>(new[] { "F-14", "Concorde" }) },        new Pilot { Name = "Celko", Skills = new HashSet<string>(new[] { "Piper Cub" }) },    };我想OrderBy在Linq中使用:史密斯和琼斯被命令在一起,因为他们乘坐同一架飞机希金斯和威尔逊被命令在一起,因为他们乘坐同一架飞机希金斯+威尔逊在史密斯+琼斯之前还是之后都没关系最好是史密斯在琼斯之前(稳定排序),但这不是太重要我想我需要实现一个IComparer<Pilot>传递给,OrderBy但不知道如何处理“无所谓”方面(如上)和稳定排序。更新:我希望输出是相同五个对象的数组,但顺序不同。 Pilot
查看完整描述

3 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

这是orderby的样本


  var groups = from c in GridImage (Your List)

               orderby c.grouping (Your Item inside List)

               group c by c.grouping;


查看完整回答
反对 回复 2021-04-10
  • 3 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信