C# | Invertir el orden de los elementos en toda la Lista o en el rango especificado

List<T>.Reverse Method se usa para invertir el orden de los elementos en List<T> o una parte de ella. Hay dos métodos en la lista de sobrecarga de List<T>.Reverse Method de la siguiente manera:

  • Reverso()
  • Inversa (Int32, Int32)

Método inverso()

Este método se utiliza para invertir el orden de los elementos en toda la List<T>.

Sintaxis:

public void Reverse ();

Los siguientes programas ilustran el uso del método discutido anteriormente:

Ejemplo 1:

// C# Program to reverse the order of
// the elements in the entire List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating an List<T> of Integers
        List<int> firstlist = new List<int>();
  
        // Adding elements to List
        for (int i = 1; i <= 5; i++) {
            firstlist.Add(i);
        }
  
        Console.WriteLine("Elements Present in List:");
  
        // Displaying the elements of List
        foreach(int k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.WriteLine("After Reversing: ");
  
        // using method Reverse()
        firstlist.Reverse();
  
        // Displaying the elements of List
        foreach(int k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Producción:

Elements Present in List:
1
2
3
4
5
 
After Reversing: 
5
4
3
2
1

Ejemplo 2:

// C# Program to reverse the order of
// the elements in the entire List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating an List<T> of Integers
        List<string> firstlist = new List<string>();
  
        // Adding elements to List
        firstlist.Add("Geeks");
        firstlist.Add("C#");
        firstlist.Add("Java");
        firstlist.Add("C++");
  
        Console.WriteLine("Elements Present in List:");
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.WriteLine("After Reversing: ");
  
        // using method Reverse()
        firstlist.Reverse();
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Producción:

Elements Present in List:
Geeks
C#
Java
C++
 
After Reversing: 
C++
Java
C#
Geeks

Método inverso (Int32, Int32)

Este método se utiliza para invertir el orden de los elementos en el rango especificado.

Sintaxis:

public void Reverse (int index, int count);

Parámetros:

índice: Es el índice de inicio basado en cero del rango que se va a invertir.

count: Es el número de elementos en el rango que se va a invertir.

Excepciones:

  • ArgumentOutOfRangeException: si el índice o el recuento es menor que cero.
  • ArgumentException: si el índice y el recuento no indican un rango válido de elementos en List<T>.

Los siguientes programas ilustran el uso del método discutido anteriormente:

Ejemplo 1:

// C# Program to reverse the order of
// sub range in the List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating an List<T> of Integers
        List<string> firstlist = new List<string>();
  
        // Adding elements to List
        firstlist.Add("1st");
        firstlist.Add("2nd");
        firstlist.Add("3rd");
        firstlist.Add("4th");
        firstlist.Add("5th");
        firstlist.Add("6th");
        firstlist.Add("7th");
  
        Console.WriteLine("Elements Present in List:");
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.WriteLine("After Reversing: ");
  
        // Reversing the sub-range
        // that starts from index 2
        // i.e 3rd element, and
        // count is 4 elements
        firstlist.Reverse(2, 4);
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Producción:

Elements Present in List:
1st
2nd
3rd
4th
5th
6th
7th
 
After Reversing: 
1st
2nd
6th
5th
4th
3rd
7th

Ejemplo 2:

// C# Program to reverse the order of
// sub range in the List<T>
using System;
using System.Collections;
using System.Collections.Generic;
  
class Geeks {
  
    // Main Method
    public static void Main()
    {
  
        // Creating an List<T> of Integers
        List<string> firstlist = new List<string>();
  
        // Adding elements to List
        firstlist.Add("1st");
        firstlist.Add("2nd");
        firstlist.Add("3rd");
        firstlist.Add("4th");
        firstlist.Add("5th");
        firstlist.Add("6th");
        firstlist.Add("7th");
  
        Console.WriteLine("Elements Present in List:");
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
  
        Console.WriteLine(" ");
  
        Console.WriteLine("After Reversing: ");
  
        // taking negative index will give error
        firstlist.Reverse(-1, 4);
  
        // Displaying the elements of List
        foreach(string k in firstlist)
        {
            Console.WriteLine(k);
        }
    }
}

Error de tiempo de ejecución:

Excepción no controlada:
System.ArgumentOutOfRangeException: se requiere un número no negativo.
Nombre del parámetro: índice

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *