El método Hashtable.CopyTo(Array, Int32) se utiliza para copiar los elementos de una tabla Hash en una instancia de array unidimensional en el índice especificado.
Sintaxis:
public virtual void CopyTo (Array array, int arrayIndex);
Parámetros:
array: la array unidimensional que es el destino de los objetos DictionaryEntry copiados de Hashtable. 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 de la tabla Hash 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 la tabla hash de origen es mayor que el espacio disponible desde arrayIndex hasta el final de la array de destino.
Los siguientes programas ilustran el uso del método Hashtable.CopyTo(Array, Int32) :
Ejemplo 1:
CSharp
// C# code to copy the Hashtable // elements to a one-dimensional Array // instance at the specified index. using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("A", "Apple"); myhash.Add("B", "Banana"); myhash.Add("C", "Cat"); myhash.Add("D", "Dog"); myhash.Add("E", "Elephant"); myhash.Add("F", "Fish"); // Creating a one-dimensional Array named myArr DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count]; // copying the Hashtable entries // to a one-dimensional Array instance // at the specified index myhash.CopyTo(myArr, 0); for (int i = 0; i < myArr.Length; i++) Console.WriteLine(myArr[i].Key + " --> " + myArr[i].Value); } }
Producción:
B --> Banana C --> Cat A --> Apple F --> Fish D --> Dog E --> Elephant
Ejemplo 2:
CSharp
// C# code to copy the Hashtable // elements to a one-dimensional Array // instance at the specified index. using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("A", "Apple"); myhash.Add("B", "Banana"); myhash.Add("C", "Cat"); myhash.Add("D", "Dog"); myhash.Add("E", "Elephant"); myhash.Add("F", "Fish"); // Creating a one-dimensional Array named myArr DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count]; // copying the HybridDictionary entries // to a one-dimensional Array instance // at the specified index // This should raise "ArgumentOutOfRangeException" // as index is less than 0 myhash.CopyTo(myArr, -2); 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
Nota:
- Los elementos se copian en Array en el mismo orden en que el enumerador itera a través de Hashtable.
- Para copiar solo las claves en Hashtable, use Hashtable.Keys.CopyTo .
- Para copiar solo los valores en Hashtable, use Hashtable.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 Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA