【发布时间】:2016-04-20 15:43:22
【问题描述】:
我有两个列表,其中一个是另一个的子集修改子集。例如:
List<string> list1 = new List<string>(){ "A1", "A2", "A3" };
List<string> list2 = new List<string>() { "AA2", "B1", "B2", "AA1", "B3", "AA2" };
我想对第二个列表进行排序,使其具有与第一个相似的顺序,如下所示:
List<string> list2 = new List<string>() { "AA1", "AA2", "AA3", "B1", "B2", "B3" };
我怎样才能做到这一点?
【问题讨论】:
-
项目是如何修改的?
-
为了做到这一点,必须更好地定义“相似顺序”......规则是什么?
-
从列表的角度来看,您的第二个列表不是第一个列表的“子集”。这些条目有点像第一个,但它们不是一个子集。在您的示例中,您需要某种逻辑才能知道 AA1 是“A1”定义的“子集”。然后,您可以遍历第一个列表并找到以某种方式属于每个项目子集的项目,并按该顺序创建一个新列表。