Skip to main content
.NET Framework Class Library
ListTReverse Method (Int32, Int32)

Reverses the order of the elements in the specified range.

Namespace:   System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Sub Reverse ( _
	index As [%$TOPIC/hf2ay11y_en-us_VS_110_1_0_0_0_0%], _
	count As [%$TOPIC/hf2ay11y_en-us_VS_110_1_0_0_0_1%] _
)
public void Reverse(
	[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_1_0_0%] index,
	[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_1_0_1%] count
)
public:
void Reverse(
	[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_2_0_0%] index, 
	[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_2_0_1%] count
)
member Reverse : 
        index:[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_3_0_0%] * 
        count:[%$TOPIC/hf2ay11y_en-us_VS_110_1_0_3_0_1%] -> unit

Parameters

index
Type: SystemInt32

The zero-based starting index of the range to reverse.

count
Type: SystemInt32

The number of elements in the range to reverse.

Exceptions
ExceptionCondition
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 ListT.

Remarks

This method uses ArrayReverse to reverse the order of the elements, such that the element at ListT[i], where i is any index within the range, moves to ListT[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 ListT 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
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        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")

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        dinosaurs.Reverse()

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        dinosaurs.Reverse(1, 4)

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        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 Main()
    {
        List<string> dinosaurs = new List<string>();

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

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        dinosaurs.Reverse();

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        dinosaurs.Reverse(1, 4);

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }
    }
}

/* 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 namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew List<String^>();

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

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs)
    {
        Console::WriteLine(dinosaur);
    }

    dinosaurs->Reverse();

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs)
    {
        Console::WriteLine(dinosaur);
    }

    dinosaurs->Reverse(1, 4);

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs)
    {
        Console::WriteLine(dinosaur);
    }
}

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

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8
Platforms

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.