问题描述
我正在考虑用SortedSet替换HashSet,因为它更适合我存储的数据.
I'm looking at replacing a HashSet with a SortedSet because it is better suited to the data I'm storing.
但是,到目前为止,我所看到的所有示例都与存储简单对象(整数,字符串等)有关.
However, all the examples I've seen so far relate to storing simple objects - int's, strings etc.
我想为具有许多属性的自定义类实现此功能,但是该类还包含一个我想用作索引器"的日期.
I want to implement this for a custom class with a number of properties, however the class also includes a date that I want to use as the 'indexer'.
问题是我该如何声明要使用的集合的自定义索引器,它将覆盖默认行为?
The question is how do I go about declaring a custom indexer for the set to use which will override the default behaviour?
先谢谢了.
推荐答案
实施IComparer并将其传递给SortedSet构造函数;
Implement IComparer and pass it to the SortedSet constructor;
请参阅:
https://msdn.microsoft. com/en-us/library/dd395024%28v = vs.110%29.aspx
例如:我用这个
internal class SortedIndex
{
public double Comparable { get; set; }
public int Index { get; set; }
}
internal class SortedIndexComparar : IComparer<SortedIndex>
{
public int Compare(SortedIndex x, SortedIndex y)
{
return x.Comparable.CompareTo(y.Comparable);
}
}
这篇关于SortedSet-存储类对象时的自定义顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!