Reverseメソッドは、SortedSetを通常とは逆順に列挙する列挙子(IEnumerator<T>)を返します。 つまり、Reverseメソッドを使うと、SortedSet内の要素を逆の順序で列挙することができます。
Reverseメソッドは、Array.ReverseメソッドやList.Reverseメソッドとは異なり、SortedSet内の要素の並びを変更しない、非破壊的なメソッドです。 Reverseメソッドを呼び出してもSortedSet内の要素は逆順にはならず、あくまで逆順で列挙する列挙子を返すだけという点に注意してください。
Reverseメソッドを使ってSortedSet内の要素を逆順で列挙する
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var s = new SortedSet<int>() {5, 1, 0, 3, 4, 2};
// デフォルトの順序でSortedSetを列挙
foreach (var e in s) {
Console.Write("{0}, ", e);
}
Console.WriteLine();
// デフォルトとは逆順でSortedSetを列挙
foreach (var e in s.Reverse()) {
Console.Write("{0}, ", e);
}
Console.WriteLine();
}
}
実行結果
5, 4, 3, 2, 1, 0, 0, 1, 2, 3, 4, 5,