Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Hashtable.CopyTo (Array, Int32)

 

Publicado: octubre de 2016

Copia los elementos de Hashtable a una instancia unidimensional de Array en el índice especificado.

Espacio de nombres:   System.Collections
Ensamblado:  mscorlib (en mscorlib.dll)

public virtual void CopyTo(
	Array array,
	int arrayIndex
)

Parámetros

array
Type: System.Array

Array unidimensional que constituye el destino de los objetos DictionaryEntry copiados de Hashtable. La matriz Array debe tener una indización de base cero.

arrayIndex
Type: System.Int32

Índice de base cero en la array donde comienza la copia.

Exception Condition
ArgumentNullException

El valor de array es null.

ArgumentOutOfRangeException

arrayIndex es menor que cero.

ArgumentException

array es multidimensional.

O bien

El número de elementos en el origen de Hashtable es mayor que el espacio disponible desde arrayIndex hasta el final del destino de array.

InvalidCastException

El tipo de origen Hashtable no puede convertirse automáticamente al tipo del destino de array.

Los elementos se copian en el Array en el mismo orden en el que el enumerador recorre en iteración el Hashtable.

Para copiar sólo las claves de la Hashtable, utilice Hashtable.Keys.CopyTo.

Para copiar sólo los valores de la Hashtable, utilice Hashtable.Values.CopyTo.

Este método es una O (n) operación, donde n es Count.

En el ejemplo siguiente se muestra cómo copiar la lista de claves o la lista de valores en un Hashtable en unidimensional Array.

using System;
using System.Collections;
public class SamplesHashtable  {

   public static void Main()  {

      // Creates and initializes the source Hashtable.
      Hashtable mySourceHT = new Hashtable();
      mySourceHT.Add( "A", "valueA" );
      mySourceHT.Add( "B", "valueB" );

      // Creates and initializes the one-dimensional target Array.
      String[] myTargetArray = new String[15];
      myTargetArray[0] = "The";
      myTargetArray[1] = "quick";
      myTargetArray[2] = "brown";
      myTargetArray[3] = "fox";
      myTargetArray[4] = "jumped";
      myTargetArray[5] = "over";
      myTargetArray[6] = "the";
      myTargetArray[7] = "lazy";
      myTargetArray[8] = "dog";

      // Displays the values of the target Array.
      Console.WriteLine( "The target Array contains the following before:" );
      PrintValues( myTargetArray, ' ' );

      // Copies the keys in the source Hashtable to the target Hashtable, starting at index 6.
      Console.WriteLine( "After copying the keys, starting at index 6:" );
      mySourceHT.Keys.CopyTo( myTargetArray, 6 );

      // Displays the values of the target Array.
      PrintValues( myTargetArray, ' ' );

      // Copies the values in the source Hashtable to the target Hashtable, starting at index 6.
      Console.WriteLine( "After copying the values, starting at index 6:" );
      mySourceHT.Values.CopyTo( myTargetArray, 6 );

      // Displays the values of the target Array.
      PrintValues( myTargetArray, ' ' );
   }

   public static void PrintValues( String[] myArr, char mySeparator )  {
      for ( int i = 0; i < myArr.Length; i++ )
         Console.Write( "{0}{1}", mySeparator, myArr[i] );
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

The target Array contains the following before:
 The quick brown fox jumped over the lazy dog
After copying the keys, starting at index 6:
 The quick brown fox jumped over B A dog
After copying the values, starting at index 6:
 The quick brown fox jumped over valueB valueA dog

*/ 

Plataforma universal de Windows
Disponible desde 10
.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: