C# | Copiar los elementos SortedList a un objeto de array

El método SortedList.CopyTo(Array, Int32) se usa para copiar elementos SortedList en un objeto Array unidimensional , comenzando en el índice especificado en la array.

Sintaxis:

public virtual void CopyTo (Array array, int arrayIndex);

Parámetros:

array: Es el objeto Array unidimensional que es el destino de los objetos DictionaryEntry copiados de SortedList. El Array debe tener una indexación basada en cero.

arrayindex: es el índice basado en cero en la array en el que comienza la copia.

Excepciones:

  • ArgumentNullException: si la array es nula.
  • ArgumentOutOfRangeException: si el índice de array es menor que cero.
  • ArgumentException: si la array es multidimensional o el número de elementos en el objeto SortedList de origen es mayor que el espacio disponible desde arrayIndex hasta el final de la array de destino.
  • InvalidCastException: si el tipo de la SortedList de origen no se puede convertir automáticamente al tipo de la array de destino .

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

Ejemplo 1:

// C# code to copy the SortedList elements
// to a 1-D Array object, starting at the
// specified index in the array
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        SortedList mylist = new SortedList();
  
        // Adding elements to SortedList
        mylist.Add("1", "C#");
        mylist.Add("2", "Java");
        mylist.Add("3", "DSA");
        mylist.Add("4", "Python");
        mylist.Add("5", "C");
  
        // creating a 1-D array
        DictionaryEntry[] myArr = new DictionaryEntry[mylist.Count];
  
        // Copying SortedList to Array
        // instance at the specified index
        mylist.CopyTo(myArr, 0);
  
        // Displaying elements in myArr
        for (int i = 0; i < myArr.Length; i++) {
            Console.WriteLine(myArr[i].Key + "-->" + myArr[i].Value);
        }
    }
}

Producción:

1-->C#
2-->Java
3-->DSA
4-->Python
5-->C

Ejemplo 2:

// C# code to copy the SortedList elements
// to a 1-D Array object, starting at the
// specified index in the array
using System;
using System.Collections;
  
class Geeks {
  
    // Main Method
    public static void Main(String[] args)
    {
  
        // Creating a SortedList of integers
        SortedList mylist = new SortedList();
  
        // Adding elements to SortedList
        mylist.Add("1st", "Ram");
        mylist.Add("2nd", "Shyam");
        mylist.Add("3rd", "Rohit");
        mylist.Add("4th", "Manish");
        mylist.Add("5th", "Vikas");
  
        // creating a 1-D array
        DictionaryEntry[] myArr = new DictionaryEntry[mylist.Count];
  
        // Copying SortedList to Array
        // instance at the specified index
        // This will raise "ArgumentOutOfRangeException"
        // as index is less than 0
        mylist.CopyTo(myArr, -2);
  
        // Displaying elements in myArr
        for (int i = 0; i < myArr.Length; i++) {
            Console.WriteLine(myArr[i].Key + "-->" + myArr[i].Value);
        }
    }
}

Error de tiempo de ejecución:

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

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 *