繁体   English   中英

根据另一个固定列表对项目列表进行排序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM