C# | Copie los elementos de OrderedDictionary a la instancia de Array en el índice especificado – Part 1

El método OrderedDictionary.CopyTo(Array, Int32) se usa para copiar los elementos de OrderedDictionary en un objeto Array unidimensional en el índice especificado.

Sintaxis:

public void CopyTo (Array array, int index);

Parámetros:

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

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

Nota: el método OrderedDictionary.CopyTo(Array, Int32) no proporciona ninguna garantía para mantener el orden de los elementos en la colección OrderedDictionary.

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

Ejemplo 1:

// C# code to copy OrderedDictionary to
// Array instance at the specified index
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("key1", "value1");
        myDict.Add("key2", "value2");
        myDict.Add("key3", "value3");
        myDict.Add("key4", "value4");
        myDict.Add("key5", "value5");
  
        DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];
  
        // Copying OrderedDictionary to Array
        // instance at the specified index
        myDict.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:

key3-->value3
key4-->value4
key5-->value5
key2-->value2
key1-->value1

Ejemplo 2:

// C# code to copy OrderedDictionary to
// Array instance at the specified index
// that give ArgumentOutOfRangeException
// due to the negative index
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a orderedDictionary named myDict
        OrderedDictionary myDict = new OrderedDictionary();
  
        // Adding key and value in myDict
        myDict.Add("C", "1");
        myDict.Add("C++", "2");
        myDict.Add("Java", "3");
        myDict.Add("C#", "4");
  
        DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count];
  
        // Copying OrderedDictionary to Array
        // instance at the specified index
        // This will raise "ArgumentOutOfRangeException"
        // as index is less than 0
        myDict.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 *