Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Array.Reverse Metoda

Definicja

Odwraca kolejność elementów w jednowymiarowym Array lub w części Array.

Przeciążenia

Reverse(Array)

Odwraca sekwencję elementów w całym jednowymiarowym Arrayobiekcie .

Reverse(Array, Int32, Int32)

Odwraca sekwencję podzestawu elementów w jednowymiarowym Arrayobiekcie .

Reverse<T>(T[])

Odwraca sekwencję elementów w jednowymiarowej tablicy ogólnej.

Reverse<T>(T[], Int32, Int32)

Odwraca sekwencję podzestawu elementów w tablicy ogólnej jednowymiarowej.

Reverse(Array)

Źródło:
Array.cs
Źródło:
Array.cs
Źródło:
Array.cs

Odwraca sekwencję elementów w całym jednowymiarowym Arrayobiekcie .

C#
public static void Reverse (Array array);

Parametry

array
Array

Jednowymiarowy Array do odwrócenia.

Wyjątki

array to null.

Parametr array jest wielowymiarowy.

Przykłady

W poniższym przykładzie kodu pokazano, jak odwrócić rodzaj wartości w elemecie Array.

C#
using System;
public class SamplesArray  {

   public static void Main()  {

      // 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.
      Console.WriteLine( "The Array initially contains the following values:" );
      PrintIndexAndValues( myArray );

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

      // Displays the values of the Array.
      Console.WriteLine( "After reversing:" );
      PrintIndexAndValues( myArray );
   }

   public static 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 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]:    dog
    [1]:    lazy
    [2]:    the
    [3]:    over
    [4]:    jumps
    [5]:    fox
    [6]:    brown
    [7]:    quick
    [8]:    The
*/

Uwagi

Po wywołaniu tej metody element w myArray[i]lokalizacji , gdzie i jest dowolnym indeksem w tablicy, przechodzi do myArray[j]metody , gdzie j równa (myArray.Length + myArray.GetLowerBound(0)) - (i - myArray.GetLowerBound(0)) - 1się .

Ta metoda jest operacją O(), gdzie n jest wartością Lengtharray.n

W języku F# można zamiast tego użyć funkcji Array.rev .

Jak pokazano w poniższym przykładzie, Reverse można użyć metody do odwrócenia tablicy poszarpanej. Inicjuje poszarpaną tablicę z jednym elementem dla każdego miesiąca bieżącego roku w kalendarzu bieżącej kultury. Każdy element zawiera tablicę z dowolną liczbą elementów w danym miesiącu. W przykładzie wyświetlana jest zawartość tablicy, wywołuje metodę Reverse , a następnie wyświetla zawartość odwróconej tablicy.

C#
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int nMonths = DateTimeFormatInfo.CurrentInfo.Calendar.GetMonthsInYear(DateTime.Now.Year);
      int[][] months = new int[nMonths][];

      // Populate elements with number of days in month.
      for (int ctr = 0; ctr <= months.GetUpperBound(0); ctr++) {
         int daysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, ctr + 1);
         months[ctr] = new int[daysInMonth] ;
         for (int ctr2 = 1; ctr2 <= daysInMonth; ctr2++)
            months[ctr][ctr2 - 1] = ctr2;
      }

      foreach (var month in months) {
         foreach (var day in month)
            Console.Write("{0} ", day);

         Console.WriteLine();
      }
      Console.WriteLine();

      Console.WriteLine("About to reverse array.\n");
      Array.Reverse(months);

      foreach (var month in months) {
         foreach (var day in month)
            Console.Write("{0} ", day);

         Console.WriteLine();
      }
   }
}
// The example displays output similar to the following:
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//
//    About to reverse array.
//
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
//    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Dotyczy

Reverse(Array, Int32, Int32)

Źródło:
Array.cs
Źródło:
Array.cs
Źródło:
Array.cs

Odwraca sekwencję podzestawu elementów w jednowymiarowym Arrayobiekcie .

C#
public static void Reverse (Array array, int index, int length);

Parametry

array
Array

Jednowymiarowy Array do odwrócenia.

index
Int32

Indeks początkowy sekcji do odwrócenia.

length
Int32

Liczba elementów w sekcji do odwrócenia.

Wyjątki

array to null.

Parametr array jest wielowymiarowy.

indexjest mniejsza niż niższa granica .array

-lub-

Parametr length ma wartość niższą niż zero.

index i length nie określają prawidłowego zakresu w arrayelemecie .

Przykłady

W poniższym przykładzie kodu pokazano, jak odwrócić rodzaj wartości w zakresie elementów w elemecie Array.

C#
using System;
public class SamplesArray1  {

   public static void Main()  {

      // 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.
      Console.WriteLine( "The Array 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 );
   }

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

Uwagi

Po wywołaniu tej metody element w myArray[i]lokalizacji , gdzie i jest dowolnym indeksem w tablicy, przechodzi do myArray[j]metody , gdzie j równa (myArray.Length + myArray.GetLowerBound(0)) - (i - myArray.GetLowerBound(0)) - 1się .

Metoda Reverse może służyć do odwrócenia poszarpanej tablicy.

Ta metoda jest operacją O(n), gdzie n to length.

Dotyczy

Reverse<T>(T[])

Źródło:
Array.cs
Źródło:
Array.cs
Źródło:
Array.cs

Odwraca sekwencję elementów w jednowymiarowej tablicy ogólnej.

C#
public static void Reverse<T> (T[] array);

Parametry typu

T

Typ elementów w elemecie array.

Parametry

array
T[]

Jednowymiarowa tablica elementów do odwrócenia.

Wyjątki

array to null.

Parametr array jest wielowymiarowy.

Dotyczy

Reverse<T>(T[], Int32, Int32)

Źródło:
Array.cs
Źródło:
Array.cs
Źródło:
Array.cs

Odwraca sekwencję podzestawu elementów w tablicy ogólnej jednowymiarowej.

C#
public static void Reverse<T> (T[] array, int index, int length);

Parametry typu

T

Typ elementów w elemecie array.

Parametry

array
T[]

Jednowymiarowa tablica elementów do odwrócenia.

index
Int32

Indeks początkowy sekcji do odwrócenia.

length
Int32

Liczba elementów w sekcji do odwrócenia.

Wyjątki

array to null.

Parametr array jest wielowymiarowy.

indexjest mniejsza niż niższa granica .array

-lub-

Parametr length ma wartość niższą niż zero.

index i length nie określają prawidłowego zakresu w arrayelemecie .

Dotyczy