Array::Reverse Method (Array^, Int32, Int32)
Reverses the sequence of the elements in a range of elements in the one-dimensional Array.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- array
-
Type:
System::Array^
The one-dimensional Array to reverse.
- index
-
Type:
System::Int32
The starting index of the section to reverse.
- length
-
Type:
System::Int32
The number of elements in the section to reverse.
| Exception | Condition |
|---|---|
| ArgumentNullException | array is null. |
| RankException | array is multidimensional. |
| ArgumentOutOfRangeException | index is less than the lower bound of array. -or- length is less than zero. |
| ArgumentException | index and length do not specify a valid range in array. |
After a call to this method, the element at myArray[i], where i is any index in the array, moves to myArray[j], where j equals (myArray.Length + myArray.GetLowerBound(0)) - (i - myArray.GetLowerBound(0)) - 1.
TheReverse method can be used to reverse a jagged array.
This method is an O(n) operation, where n is length.
The following code example shows how to reverse the sort of the values in a range of elements in an Array.
using namespace System; void PrintIndexAndValues( Array^ myArray ); void main() { // Creates and initializes a new Array instance. Array^ myArray = Array::CreateInstance( String::typeid, 9 ); myArray->SetValue( "The", 0 ); myArray->SetValue( "QUICK", 1 ); myArray->SetValue( "BROWN", 2 ); myArray->SetValue( "FOX", 3 ); myArray->SetValue( "jumped", 4 ); myArray->SetValue( "over", 5 ); myArray->SetValue( "the", 6 ); myArray->SetValue( "lazy", 7 ); myArray->SetValue( "dog", 8 ); // Displays the values of the Array. Console::WriteLine( "The Array instance initially contains the following values:" ); PrintIndexAndValues( myArray ); // Reverses the sort of the values of the Array. Array::Reverse( myArray, 1, 3 ); // Displays the values of the Array. Console::WriteLine( "After reversing:" ); PrintIndexAndValues( myArray ); } void PrintIndexAndValues( Array^ myArray ) { for ( int i = myArray->GetLowerBound( 0 ); i <= myArray->GetUpperBound( 0 ); i++ ) Console::WriteLine( "\t[{0}]:\t{1}", i, myArray->GetValue( i ) ); } /* This code produces the following output. The Array instance initially contains the following values: [0]: The [1]: QUICK [2]: BROWN [3]: FOX [4]: jumped [5]: over [6]: the [7]: lazy [8]: dog After reversing: [0]: The [1]: FOX [2]: BROWN [3]: QUICK [4]: jumped [5]: over [6]: the [7]: lazy [8]: dog */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1