如何按逻辑顺序表示不同类型的文档
本文关键字:同类型 文档 表示 何按逻 顺序 | 更新日期: 2023-09-27 17:59:13
我需要以逻辑顺序表示不同类型的文档。所以我有一个带有ID的对象列表。我需要做一个比较器,按照"手动"规则对这些对象进行排序。id的订单必须是2,32,5,12,8,43…依此类推。
我使用LINQ
documents.OrderBy(doc=> doc.Id, new DocumentsComparer<int>());
public class DocumentsComparer<T> : IComparer<int>
{
...???...
}
如何制作这样的比较器?
public class DocumentsComparer<T> : IComparer<int>
{
private List<int> order = new List<int>{2, 32, 5, 12, 8, 43};
public int Compare(int x, int y)
{
return order.IndexOf(x).CompareTo(order.IndexOf(y));
}
}
如果x和y可能不在您的已知列表中,那么您必须添加相应的检查并处理这些情况。