Reverseメソッドは列挙だけでなく、IEnumerator<T>を引数にとるメソッドやLINQのメソッドに渡して使うこともできます。
Reverseメソッドを使ってSortedSet内の要素の一部分を逆順で取得する
Imports System
Imports System.Collections.Generic
Imports System.Linq
Class Sample
Shared Sub Main()
Dim s As New SortedSet(Of Integer) From {5, 1, 0, 3, 4, 2}
' デフォルトの順序でSortedSet内の要素の一部分を取得する
' (最初の要素から1つスキップしたのち、3つ分を取得する)
Console.WriteLine(String.Join(", ", s.Skip(1).Take(3)))
' デフォルトとは逆順でSortedSet内の要素の一部分を取得する
' (最初の要素から1つスキップしたのち、3つ分を取得する)
Console.WriteLine(String.Join(", ", s.Reverse().Skip(1).Take(3)))
End Sub
End Class
実行結果
1, 2, 3 4, 3, 2