Queryable.Reverse<TSource>(IQueryable<TSource>) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Изменяет порядок элементов последовательности на противоположный.
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)
Параметры типа
- TSource
Тип элементов source
.
Параметры
- source
- IQueryable<TSource>
Последовательность значений, которые следует расставить в обратном порядке.
Возвращаемое значение
Объект IQueryable<T>, элементы которого соответствуют элементам входной последовательности, но следуют в противоположном порядке.
Исключения
source
имеет значение null
.
Примеры
В следующем примере кода показано, как использовать Reverse<TSource>(IQueryable<TSource>) для изменения порядка элементов в массиве.
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
Комментарии
Метод Reverse<TSource>(IQueryable<TSource>) создает объект , MethodCallExpression представляющий вызов Reverse<TSource>(IQueryable<TSource>) как сконструированный универсальный метод. Затем он передает в MethodCallExpressionCreateQuery<TElement>(Expression) метод объекта , IQueryProvider представленный свойством Providersource
параметра .
Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Reverse<TSource>(IQueryable<TSource>) , зависит от реализации типа source
параметра. Ожидаемое поведение заключается в том, что он изменяет порядок элементов в source
.