【问题标题】:Sorting two tables according to intersection根据交集对两个表进行排序
【发布时间】:2015-10-17 20:51:02
【问题描述】:

我有两张桌子。我想对他们进行排序,就像那个十字路口将在开始时一样。

1    9
5    6
6    10
10   5

我想把它排序为:

5    5
6    6
10   10
1    9

这是一个简单的例子。在代码中,我有两个字典要根据其键进行排序。

你有什么建议吗?

【问题讨论】:

  • 向我们展示您当前拥有的代码。
  • 你能解释一下你按你的方式排序的原因吗?为什么1和9放在一起?这是因为他们不是一对吗?如果是这样,那么其他不匹配的值会发生什么,您如何决定对它们进行排序?另外,两个字典的元素数量是否相同?
  • 现在我刚刚生成了两个字典,仅此而已。这就是我问的原因。我现在不知道如何排序。
  • 我需要显示两个表之间的差异。我有无法更改的表格布局。
  • 如果您要使用字典,也值得一看:stackoverflow.com/questions/2705607/…

标签: c# sorting


【解决方案1】:
var list1 = new[] { 1, 5, 6, 10 };
var list2 = new[] { 9, 6, 10, 5 };
var intersect = list1.Intersect(list2).ToList();

list1 = intersect.Union(list1).ToArray();
list2 = intersect.Union(list2).ToArray();

【讨论】:

  • 谢谢,好主意。我还必须编写比较器,因为我有 tuple 字典,我只关心字典中的键。
猜你喜欢
  • 1970-01-01
  • 2019-03-04
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多