SortedDictionaryが使い物にならない

.NET Framework 2.0にはBalanced Treeの実装としてSortedDictionaryがあるけど、部分マップを取得するメソッド(java.util.TreeMapで言えばheadMap()/tailMap()/subMap()に相当するもの)が用意されていない。これは致命的なので、代替になるコレクションライブラリをいくつか探して試したところ、C5 Generic Collection Libraryが良さそうという結論に。

The C5 Generic Collection Library for C# and CLI

SortedDictionaryの代わりになるのがC5.TreeDictionaryクラスで、件のメソッドはRangeFrom()/RangeTo()/RangeFromTo()という名前で用意されている。

他にもSetとかBagとか、汎用コレクションクラスが多数提供されているので、とても役に立ちそう。