<分区>
我有一个字符串列表,我想按另一个字符串列表排序,如果列表中有项目不在比较器列表中,我希望它们位于列表末尾。我该怎么做?
所以如果我有这个列表:List<string> {"A","T","G","F","V","E","W","Q" }
我有一个比较器:List<string> {"T","F","V","A" }
我希望结果是:List<string> {"T","F","V","A","G","E","W","Q" }
谢谢!
<分区>
我有一个字符串列表,我想按另一个字符串列表排序,如果列表中有项目不在比较器列表中,我希望它们位于列表末尾。我该怎么做?
所以如果我有这个列表:List<string> {"A","T","G","F","V","E","W","Q" }
我有一个比较器:List<string> {"T","F","V","A" }
我希望结果是:List<string> {"T","F","V","A","G","E","W","Q" }
谢谢!
最佳答案
看起来您需要使用 Intersect
和 Except
,例如:
List<string> originalList = new List<string> {"A", "T", "G", "F", "V", "E", "W", "Q"};
List<string> compareList = new List<string> {"T", "F", "V", "A"};
var intersectedItems = compareList.Intersect(originalList);
var notIntersectedItems = originalList.Except(compareList);
var resultList = intersectedItems.Concat(notIntersectedItems).ToList();
您将获得:
resultList = T,F,V,A,G,E,W,Q
关于c# - 按另一个字符串列表对字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744229/