Enumerable.Reverse<TSource>(IEnumerable<TSource>) 方法

定义

反转序列中元素的顺序。Inverts the order of the elements in a sequence.

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 的元素类型。The type of the elements of source.

参数

source
IEnumerable<TSource>

要反转的值序列。A sequence of values to reverse.

返回

IEnumerable<TSource>

一个序列,其元素以相反顺序对应于输入序列的元素。A sequence whose elements correspond to those of the input sequence in reverse order.

例外

sourcenullsource is null.

示例

下面的代码示例演示如何使用 Reverse 反转数组中元素的顺序。The following code example demonstrates how to use Reverse to reverse the order of elements in an array.

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

注解

此方法是使用延迟执行实现的。This method is implemented by using deferred execution. 即时返回值是一个对象,该对象存储执行操作所需的所有信息。The immediate return value is an object that stores all the information that is required to perform the action. 此方法表示的查询在枚举对象之前不会执行,方法是通过直接调用 GetEnumerator 方法或在 Visual Basic 中使用视觉C#对象中的 foreachFor Each 来枚举对象。The query represented by this method is not executed until the object is enumerated either by calling its GetEnumerator method directly or by using foreach in Visual C# or For Each in Visual Basic.

OrderBy不同,此排序方法不考虑实际值来确定顺序。Unlike OrderBy, this sorting method does not consider the actual values themselves in determining the order. 相反,它只会按基础源生成元素的相反顺序返回它们。Rather, it just returns the elements in the reverse order from which they are produced by the underlying source.

适用于