C# 根据另一个固定列表对项目列表进行排序
我是C#的初学者 我有一份清单C# 根据另一个固定列表对项目列表进行排序,c#,sorting,C#,Sorting,我是C#的初学者 我有一份清单 private List<String> mXMLProdcutsIDs = new List<String>(); 有时我会得到另一个随机排列的列表,{“megapack”,“levelpack”,“bikepack”} 我想根据mXMLProductIDs列表顺序使用该列表您可以使用原始列表中字符串的索引来定义项目顺序: var result = anotherList.OrderBy(s => mXMLProdcutsIDs.
private List<String> mXMLProdcutsIDs = new List<String>();
有时我会得到另一个随机排列的列表,{“megapack”,“levelpack”,“bikepack”}
我想根据
mXMLProductIDs
列表顺序使用该列表您可以使用原始列表中字符串的索引来定义项目顺序:
var result = anotherList.OrderBy(s => mXMLProdcutsIDs.IndexOf(s));
缩短版本:
var result = anotherList.OrderBy(mXMLProdcutsIDs.IndexOf);
请记住,结果将是IEnumerable
。如果需要将结果保存在列表中,可以使用ToList()
另一个选项(如果其他列表中没有重复的项):
您可以使用原始列表中字符串的索引来定义项目顺序:
var result = anotherList.OrderBy(s => mXMLProdcutsIDs.IndexOf(s));
缩短版本:
var result = anotherList.OrderBy(mXMLProdcutsIDs.IndexOf);
请记住,结果将是IEnumerable
。如果需要将结果保存在列表中,可以使用ToList()
另一个选项(如果其他列表中没有重复的项):
如果另一个列表“有”一些字符串可以与其他字段进行比较,该怎么办?比较是如何工作的?你能澄清一下什么是与其他字段的比较吗?例如,如果我有需要作为列表排序的列表,但它有一个字符串可以与XMLProducts ID字符串列表进行比较。如果其他列表“有”一些字符串可以与其他字段进行比较呢?比较是如何工作的?您能否澄清除了与其他一些字段进行比较之外,还有什么内容?例如,如果我有需要作为列表排序的列表,但它有一个字符串,可以与XMLProducts ID字符串列表进行比较。我回滚了您的编辑,因为它显著地改变了问题。但若您有一些自定义类而不是字符串,那个么答案将是相同的,只是您需要重写自定义类的
GetHashCode
和Equals
方法class@SergeyBerezovskiy请你举个例子,我是C语言的初学者,在这里你可以找到我的例子。实现Equals非常简单——只需比较对象的字段。只要试着搜索样本——你们会发现一个洛蒂回滚了你们的编辑,因为它显著地改变了问题。但若您有一些自定义类而不是字符串,那个么答案将是相同的,只是您需要重写自定义类的GetHashCode
和Equals
方法class@SergeyBerezovskiy请你举个例子,我是C语言的初学者,在这里你可以找到我的例子。实现Equals非常简单——只需比较对象的字段。只要试着搜索样本,你会发现很多