This documentation is archived and is not being maintained.

ListDictionary.CopyTo Method

Copies the ListDictionary entries to a one-dimensional Array instance at the specified index.

Namespace: System.Collections.Specialized
Assembly: System (in system.dll)

public void CopyTo (
	Array array,
	int index
)
public final void CopyTo (
	Array array, 
	int index
)
public final function CopyTo (
	array : Array, 
	index : int
)
Not applicable.

Parameters

array

The one-dimensional Array that is the destination of the DictionaryEntry objects copied from ListDictionary. The Array must have zero-based indexing.

index

The zero-based index in array at which copying begins.

Exception typeCondition

ArgumentNullException

array is a null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

index is less than zero.

ArgumentException

array is multidimensional.

-or-

index is equal to or greater than the length of array.

-or-

The number of elements in the source ListDictionary is greater than the available space from index to the end of the destination array.

InvalidCastException

The type of the source ListDictionary cannot be cast automatically to the type of the destination array.

The elements are copied to the Array in the same order in which the enumerator iterates through the ListDictionary.

To copy only the keys in the ListDictionary, use ListDictionary.Keys.CopyTo.

To copy only the values in the ListDictionary, use ListDictionary.Values.CopyTo.

This method is an O(n) operation, where n is Count.

The following code example copies the elements of a ListDictionary to an array.

using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesListDictionary  {

   public static void Main()  {

      // Creates and initializes a new ListDictionary.
      ListDictionary myCol = new ListDictionary();
      myCol.Add( "Braeburn Apples", "1.49" );
      myCol.Add( "Fuji Apples", "1.29" );
      myCol.Add( "Gala Apples", "1.49" );
      myCol.Add( "Golden Delicious Apples", "1.29" );
      myCol.Add( "Granny Smith Apples", "0.89" );
      myCol.Add( "Red Delicious Apples", "0.99" );

      // Displays the values in the ListDictionary in three different ways.
      Console.WriteLine( "Initial contents of the ListDictionary:" );
      PrintKeysAndValues( myCol );

      // Copies the ListDictionary to an array with DictionaryEntry elements.
      DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count];
      myCol.CopyTo( myArr, 0 );

      // Displays the values in the array.
      Console.WriteLine( "Displays the elements in the array:" );
      Console.WriteLine( "   KEY                       VALUE" );
      for ( int i = 0; i < myArr.Length; i++ )
         Console.WriteLine( "   {0,-25} {1}", myArr[i].Key, myArr[i].Value );
      Console.WriteLine();

   }

   public static void PrintKeysAndValues( IDictionary myCol )  {
      Console.WriteLine( "   KEY                       VALUE" );
      foreach ( DictionaryEntry de in myCol )
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

}


/*
This code produces the following output.

Initial contents of the ListDictionary:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements in the array:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

*/


import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;

public class SamplesListDictionary
{
       public static void main(String[] args)
       {
        // Creates and initializes a new ListDictionary.
        ListDictionary myCol = new ListDictionary();
        myCol.Add("Braeburn Apples", "1.49");
        myCol.Add("Fuji Apples", "1.29");
        myCol.Add("Gala Apples", "1.49");
        myCol.Add("Golden Delicious Apples", "1.29");
        myCol.Add("Granny Smith Apples", "0.89");
        myCol.Add("Red Delicious Apples", "0.99");
      
        // Displays the values in the ListDictionary in three different ways.
        Console.WriteLine("Initial contents of the ListDictionary:");
        PrintKeysAndValues(myCol);
      
        // Copies the ListDictionary to an array with DictionaryEntry elements.
        DictionaryEntry myArr[] = new DictionaryEntry[myCol.get_Count()];
        myCol.CopyTo(myArr, 0);
      
        // Displays the values in the array.
        Console.WriteLine("Displays the elements in the array:");
        Console.WriteLine("   KEY                       VALUE");
        for(int i=0; i < myArr.length; i++) {
            Console.WriteLine("   {0,-25} {1}", myArr[i].get_Key(),
            myArr[i].get_Value());
        } 
        Console.WriteLine();
    } //main
       
    public static void PrintKeysAndValues(IDictionary myCol)
    {
        IEnumerator myEnumerator = myCol.GetEnumerator();
        DictionaryEntry de;
        Console.WriteLine("   KEY                       VALUE");
        while (myEnumerator.MoveNext()) {
             de = (DictionaryEntry)(myEnumerator.get_Current());
            Console.WriteLine("   {0,-25} {1}", de.get_Key(), de.get_Value());
        }
        Console.WriteLine();
    } //PrintKeysAndValues
} //SamplesListDictionary
 
/*
This code produces the following output.

Initial contents of the ListDictionary:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements in the array:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

*/

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Show: