[英]Sorting list of items according to another fixed list
我是C#的初学者。
我有一个清单
private List<String> mXMLProdcutsIDs = new List<String>();
mXMLProductsIDs就像
{"megapack", "levelpack","bikepack"}.
有时我会得到another list which is in random order
, {"megapack", "levelpack","bikepack"}
我想根据mXMLProductIDs
列表顺序重新排序该列表
您可以使用原始列表中的字符串索引来定义项目顺序:
var result = anotherList.OrderBy(s => mXMLProdcutsIDs.IndexOf(s));
缩短版本:
var result = anotherList.OrderBy(mXMLProdcutsIDs.IndexOf);
请记住,该结果将是IEnumerable<string>
。 如果需要将结果保存在列表中,则可以使用ToList()
。
另一个选项(如果您在另一个列表中没有重复的项目):
var result = mXMLProdcutsIDs.Intersect(anotherList);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.