Partilhar via


Queryable.Reverse<TSource>(IQueryable<TSource>) Método

Definição

Inverte a ordem dos elementos em uma sequência.

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

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TSource>

Uma sequência de valores a ser revertida.

Retornos

IQueryable<TSource>

Um IQueryable<T> cujos elementos correspondem aos da sequência de entrada em ordem inversa.

Exceções

source é null.

Exemplos

O exemplo de código a seguir demonstra como usar Reverse<TSource>(IQueryable<TSource>) para reverter a ordem dos elementos em uma matriz.

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

// Reverse the order of the characters in the collection.
IQueryable<char> reversed = apple.AsQueryable().Reverse();

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

/*
    This code produces the following output:

    e l p p a
*/
Dim appleLetters As New List(Of Char)(New Char() _
                                      {"a"c, "p"c, "p"c, "l"c, "e"c})

' Reverse the order of the characters in the collection.
Dim reversed As IQueryable(Of Char) = _
   appleLetters.AsQueryable().Reverse()

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

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:
'
' e l p p a

Comentários

O Reverse<TSource>(IQueryable<TSource>) método gera um MethodCallExpression que representa chamar Reverse<TSource>(IQueryable<TSource>) a si mesmo como um método genérico construído. Em seguida, ele passa o MethodCallExpression para o CreateQuery<TElement>(Expression) método do IQueryProvider representado pela Provider propriedade do source parâmetro .

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada Reverse<TSource>(IQueryable<TSource>) depende da implementação do tipo do source parâmetro. O comportamento esperado é que ele inverte a ordem dos elementos em source.

Aplica-se a