List<T>.Reverse Method (Int32, Int32)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Reverses the order of the elements in the specified range.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Sub Reverse ( _
    index As Integer, _
    count As Integer _
)
public void Reverse(
    int index,
    int count
)

Parameters

  • index
    Type: System.Int32
    The zero-based starting index of the range to reverse.
  • count
    Type: System.Int32
    The number of elements in the range to reverse.

Exceptions

Exception Condition
ArgumentOutOfRangeException

index is less than 0.

-or-

count is less than 0.

ArgumentException

index and count do not denote a valid range of elements in the List<T>.

Remarks

This method uses Array.Reverse to reverse the order of the elements, such that the element at List<T>[i], where i is any index within the range, moves to List<T>[j], where j equals index plus index plus count minus i minus 1.

This method is an O(n) operation, where n is Count.

Examples

The following code example demonstrates both overloads of the Reverse method. The code example creates a List<T> of strings and adds six strings. The Reverse() method overload is used to reverse the list, and then the Reverse(Int32, Int32) method overload is used to reverse the middle of the list, beginning with element 1 and encompassing four elements.

Imports System.Collections.Generic

Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      Dim dinosaurs As New List(Of String)

      dinosaurs.Add("Pachycephalosaurus")
      dinosaurs.Add("Parasauralophus")
      dinosaurs.Add("Mamenchisaurus")
      dinosaurs.Add("Amargasaurus")
      dinosaurs.Add("Coelophysis")
      dinosaurs.Add("Oviraptor")

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

      dinosaurs.Reverse()

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

      dinosaurs.Reverse(1, 4)

      outputBlock.Text &= vbCrLf
      For Each dinosaur As String In dinosaurs
         outputBlock.Text &= dinosaur & vbCrLf
      Next

   End Sub
End Class

' This code example produces the following output:
'
'Pachycephalosaurus
'Parasauralophus
'Mamenchisaurus
'Amargasaurus
'Coelophysis
'Oviraptor
'
'Oviraptor
'Coelophysis
'Amargasaurus
'Mamenchisaurus
'Parasauralophus
'Pachycephalosaurus
'
'Oviraptor
'Parasauralophus
'Mamenchisaurus
'Amargasaurus
'Coelophysis
'Pachycephalosaurus
using System;
using System.Collections.Generic;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      List<string> dinosaurs = new List<string>();

      dinosaurs.Add("Pachycephalosaurus");
      dinosaurs.Add("Parasauralophus");
      dinosaurs.Add("Mamenchisaurus");
      dinosaurs.Add("Amargasaurus");
      dinosaurs.Add("Coelophysis");
      dinosaurs.Add("Oviraptor");

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      dinosaurs.Reverse();

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }

      dinosaurs.Reverse(1, 4);

      outputBlock.Text += "\n";
      foreach (string dinosaur in dinosaurs)
      {
         outputBlock.Text += dinosaur + "\n";
      }
   }
}

/* This code example produces the following output:

Pachycephalosaurus
Parasauralophus
Mamenchisaurus
Amargasaurus
Coelophysis
Oviraptor

Oviraptor
Coelophysis
Amargasaurus
Mamenchisaurus
Parasauralophus
Pachycephalosaurus

Oviraptor
Parasauralophus
Mamenchisaurus
Amargasaurus
Coelophysis
Pachycephalosaurus
 */

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.