我是C#的初学者.
我有一份清单
private List<String> mXMLProdcutsIDs = new List<String>();
Run Code Online (Sandbox Code Playgroud)
mXMLProductsIDs就像
{"megapack", "levelpack","bikepack"}.
Run Code Online (Sandbox Code Playgroud)
有时我会得到another list which is in random order,{"megapack", "levelpack","bikepack"}
我想根据mXMLProductIDs列表顺序使用该列表
您可以使用原始列表中的字符串索引来定义项目顺序:
var result = anotherList.OrderBy(s => mXMLProdcutsIDs.IndexOf(s));
Run Code Online (Sandbox Code Playgroud)
缩短版本:
var result = anotherList.OrderBy(mXMLProdcutsIDs.IndexOf);
Run Code Online (Sandbox Code Playgroud)
请记住,结果将是IEnumerable<string>.ToList()如果需要将结果保存在列表中,则可以使用.
另一个选项(如果您在另一个列表中没有重复的项目):
var result = mXMLProdcutsIDs.Intersect(anotherList);
Run Code Online (Sandbox Code Playgroud)