El método ListDictionary.CopyTo(Array, Int32) se usa para copiar las entradas de ListDictionary en una instancia de 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 ListDictionary. El Array debe tener una indexación basada en cero .
índice: 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 es menor que cero.
- InvalidCastException: si el tipo del ListDictionary de origen no se puede convertir automáticamente al tipo de la array de destino.
- ArgumentException: si la array es multidimensional O el número de elementos en el ListDictionary de origen es mayor que el espacio disponible desde el índice hasta el final de la array de destino.
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// C# code to copy ListDictionary 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 ListDictionary named myDict ListDictionary myDict = new ListDictionary(); myDict.Add("Australia", "Canberra"); myDict.Add("Belgium", "Brussels"); myDict.Add("Netherlands", "Amsterdam"); myDict.Add("China", "Beijing"); myDict.Add("Russia", "Moscow"); myDict.Add("India", "New Delhi"); DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count]; // Copying ListDictionary 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:
Australia-->Canberra Belgium-->Brussels Netherlands-->Amsterdam China-->Beijing Russia-->Moscow India-->New Delhi
Ejemplo 2:
// C# code to copy ListDictionary 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 ListDictionary named myDict ListDictionary myDict = new ListDictionary(); myDict.Add("Australia", "Canberra"); myDict.Add("Belgium", "Brussels"); myDict.Add("Netherlands", "Amsterdam"); myDict.Add("China", "Beijing"); myDict.Add("Russia", "Moscow"); myDict.Add("India", "New Delhi"); DictionaryEntry[] myArr = new DictionaryEntry[myDict.Count]; // Copying ListDictionary to Array // instance at the specified index // This should 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: el índice es menor que cero.
Nombre del parámetro: índice
Nota:
- Los elementos se copian en Array en el mismo orden en que el enumerador itera a través de ListDictionary.
- Para copiar solo las claves en ListDictionary, use ListDictionary.Keys.CopyTo .
- Para copiar solo los valores en ListDictionary, use ListDictionary.Values.CopyTo .
- Este método es una operación O(n), donde n es Count.
Referencia:
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA