如果目标是创建一个通用的只读字典,保留插入顺序,是否可以可靠地使用带有试图通过执行类似以下操作来维护插入顺序的IComparer<>的 SortedList<,> 或 SortedDictionary<,>?
class OrderedComparer<T> : IComparer<M>
{
public int Compare(M x, M y)
{
return x.Equals(y) ? 0 : -1;//or 1
}
}
SortedList<M> orderedList = new SortedList<M>(new OrderedComparer<T>());
在SortedDictionary中,有趣的是上述方法需要返回0或1,以防止元素按相反的插入顺序排序。