次の方法で共有


Array.Reverse Method (Array, Int32, Int32)

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

Reverses the sequence of the elements in a range of elements in the one-dimensional Array.

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

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Sub Reverse ( _
    array As Array, _
    index As Integer, _
    length As Integer _
)
[SecuritySafeCriticalAttribute]
public static void Reverse(
    Array array,
    int index,
    int length
)

Parameters

  • 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.

Exceptions

Exception Condition
ArgumentNullException

array is nulla null reference (Nothing in Visual Basic).

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.

Remarks

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.

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

Examples

The following code example shows how to reverse the sort of the values in a range of elements in an Array.


Public Class Example

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

      ' Creates and initializes a new Array.
      Dim myArray As Array = Array.CreateInstance(GetType(String), 9)
      myArray.SetValue("The", 0)
      myArray.SetValue("QUICK", 1)
      myArray.SetValue("BROWN", 2)
      myArray.SetValue("FOX", 3)
      myArray.SetValue("jumps", 4)
      myArray.SetValue("over", 5)
      myArray.SetValue("the", 6)
      myArray.SetValue("lazy", 7)
      myArray.SetValue("dog", 8)

      ' Displays the values of the Array.
      outputBlock.Text &= "The Array initially contains the " _
         + "following values:" & vbCrLf
      PrintIndexAndValues(outputBlock, myArray)

      ' Reverses the sort of the values of the Array.
      Array.Reverse(myArray, 1, 3)

      ' Displays the values of the Array.
      outputBlock.Text &= "After reversing:" & vbCrLf
      PrintIndexAndValues(outputBlock, myArray)
   End Sub


   Public Shared Sub PrintIndexAndValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myArray As Array)
      Dim i As Integer
      For i = myArray.GetLowerBound(0) To myArray.GetUpperBound(0)
         outputBlock.Text &= String.Format(ControlChars.Tab + "[{0}]:" + ControlChars.Tab _
            + "{1}", i, myArray.GetValue(i)) & vbCrLf
      Next i
   End Sub
End Class

' This code produces the following output.
' 
' The Array initially contains the following values:
'     [0]:    The
'     [1]:    QUICK
'     [2]:    BROWN
'     [3]:    FOX
'     [4]:    jumps
'     [5]:    over
'     [6]:    the
'     [7]:    lazy
'     [8]:    dog
' After reversing:
'     [0]:    The
'     [1]:    FOX
'     [2]:    BROWN
'     [3]:    QUICK
'     [4]:    jumps
'     [5]:    over
'     [6]:    the
'     [7]:    lazy
'     [8]:    dog 
using System;
public class Example
{

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Creates and initializes a new Array.
      Array myArray = Array.CreateInstance(typeof(String), 9);
      myArray.SetValue("The", 0);
      myArray.SetValue("QUICK", 1);
      myArray.SetValue("BROWN", 2);
      myArray.SetValue("FOX", 3);
      myArray.SetValue("jumps", 4);
      myArray.SetValue("over", 5);
      myArray.SetValue("the", 6);
      myArray.SetValue("lazy", 7);
      myArray.SetValue("dog", 8);

      // Displays the values of the Array.
      outputBlock.Text += "The Array initially contains the following values:" + "\n";
      PrintIndexAndValues(outputBlock, myArray);

      // Reverses the sort of the values of the Array.
      Array.Reverse(myArray, 1, 3);

      // Displays the values of the Array.
      outputBlock.Text += "After reversing:" + "\n";
      PrintIndexAndValues(outputBlock, myArray);
   }


   public static void PrintIndexAndValues(System.Windows.Controls.TextBlock outputBlock, Array myArray)
   {
      for (int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++)
         outputBlock.Text += String.Format("\t[{0}]:\t{1}", i, myArray.GetValue(i)) + "\n";
   }
}
/* 
This code produces the following output.

The Array initially contains the following values:
    [0]:    The
    [1]:    QUICK
    [2]:    BROWN
    [3]:    FOX
    [4]:    jumps
    [5]:    over
    [6]:    the
    [7]:    lazy
    [8]:    dog
After reversing:
    [0]:    The
    [1]:    FOX
    [2]:    BROWN
    [3]:    QUICK
    [4]:    jumps
    [5]:    over
    [6]:    the
    [7]:    lazy
    [8]:    dog
*/

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.