Enumerable.Reverse<TSource>(IEnumerable<TSource>) メソッド

定義

シーケンスの要素の順序を反転させます。

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Reverse(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static System.Collections.Generic.IEnumerable<TSource> Reverse<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Reverse : seq<'Source> -> seq<'Source>
<Extension()>
Public Function Reverse(Of TSource) (source As IEnumerable(Of TSource)) As IEnumerable(Of TSource)

型パラメーター

TSource

source の要素の型。

パラメーター

source
IEnumerable<TSource>

反転させる値のシーケンス。

戻り値

IEnumerable<TSource>

要素が入力シーケンスの要素に逆順で対応しているシーケンス。

例外

sourcenullです。

次のコード例では、 を使用 Reverse して配列内の要素の順序を逆にする方法を示します。

char[] apple = { 'a', 'p', 'p', 'l', 'e' };

char[] reversed = apple.Reverse().ToArray();

foreach (char chr in reversed)
{
    Console.Write(chr + " ");
}
Console.WriteLine();

/*
 This code produces the following output:

 e l p p a
*/
' Create a List of Char values.
Dim appleLetters As New List(Of Char)(New Char() _
                                  {"a"c, "P"c, "P"c, "L"c, "E"c})

' Reverse the order of the elements in the list.
' (We have to call AsEnumerable() in order to
' use System.Linq.Enumerable's Reverse() method.
Dim reversed() As Char =
appleLetters.AsEnumerable().Reverse().ToArray()

Dim output As New System.Text.StringBuilder
For Each chr As Char In reversed
    output.Append(chr & " ")
Next

' Display the output.
Console.WriteLine(output.ToString())

' This code produces the following output:
'
' E L P P a

注釈

このメソッドは、遅延実行を使用して実装されます。 即時戻り値は、アクションの実行に必要なすべての情報を格納する オブジェクトです。 このメソッドで表されるクエリは、オブジェクトがメソッドを直接呼び出GetEnumeratorすか、C# For Each または Visual Basic で を使用foreachして列挙されるまで実行されません。

とは異なり OrderBy、この並べ替え方法では、順序を決定する際に実際の値自体は考慮されません。 代わりに、基になるソースによって生成される逆の順序で要素を返すだけです。

適用対象