我是C#的初学者。
我有一个
列表private List<String> mXMLProdcutsIDs = new List<String>();
mXMLProductsIDs就像
{"megapack", "levelpack","bikepack"}.
有时我得到another list which is in random order
,{"megapack", "levelpack","bikepack"}
我想根据mXMLProductIDs
列表顺序
答案 0 :(得分:5)
您可以使用原始列表中的字符串索引来定义项目顺序:
var result = anotherList.OrderBy(s => mXMLProdcutsIDs.IndexOf(s));
缩短版本:
var result = anotherList.OrderBy(mXMLProdcutsIDs.IndexOf);
请注意,结果将为IEnumerable<string>
。如果需要将结果保存在列表中,可以使用ToList()
。
另一种选择(如果您在其他列表中没有重复的项目):
var result = mXMLProdcutsIDs.Intersect(anotherList);