Edit

Share via


Queryable.Reverse<TSource>(IQueryable<TSource>) Method

Definition

Inverts the order of the elements in a sequence.

C#
public static System.Linq.IQueryable<TSource> Reverse<TSource>(this System.Linq.IQueryable<TSource> source);

Type Parameters

TSource

The type of the elements of source.

Parameters

source
IQueryable<TSource>

A sequence of values to reverse.

Returns

IQueryable<TSource>

An IQueryable<T> whose elements correspond to those of the input sequence in reverse order.

Exceptions

source is null.

Examples

The following code example demonstrates how to use Reverse<TSource>(IQueryable<TSource>) to reverse the order of elements in an array.

C#
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
*/

Remarks

The Reverse<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling Reverse<TSource>(IQueryable<TSource>) itself as a constructed generic method. It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

The query behavior that occurs as a result of executing an expression tree that represents calling Reverse<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source parameter. The expected behavior is that it reverses the order of the elements in source.

Applies to

Product Versions