Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

ArrayList.ToArray Method (Type)

Copies the elements of the ArrayList to a new array of the specified element type.

Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)

public virtual Array ToArray (
	Type type
)
public Array ToArray (
	Type type
)
public function ToArray (
	type : Type
) : Array
Not applicable.

Parameters

type

The element Type of the destination array to create and copy elements to.

Return Value

An array of the specified element type containing copies of the elements of the ArrayList.

Exception typeCondition

ArgumentNullException

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

InvalidCastException

The type of the source ArrayList cannot be cast automatically to the specified type.

All of the objects in the ArrayList object will be cast to the Type specified in the type parameter.

The elements are copied using System.Array.Copy, which is an O(n) operation, where n is Count.

The following copy example shows how to copy the elements of an ArrayList to a string array.

using System;
using System.Collections;

public class SamplesArrayList  {
 
   public static void Main()  {
 
      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add( "The" );
      myAL.Add( "quick" );
      myAL.Add( "brown" );
      myAL.Add( "fox" );
      myAL.Add( "jumped" );
      myAL.Add( "over" );
      myAL.Add( "the" );
      myAL.Add( "lazy" );
      myAL.Add( "dog" );
 
      // Displays the values of the ArrayList.
      Console.WriteLine( "The ArrayList contains the following values:" );
      PrintIndexAndValues( myAL );
 
      // Copies the elements of the ArrayList to a string array.
      String[] myArr = (String[]) myAL.ToArray( typeof( string ) );

      // Displays the contents of the string array.
      Console.WriteLine( "The string array contains the following values:" );
      PrintIndexAndValues( myArr );

   }
 
   public static void PrintIndexAndValues( ArrayList myList )  {
      int i = 0;
      foreach ( Object o in myList )
         Console.WriteLine( "\t[{0}]:\t{1}", i++, o );
      Console.WriteLine();
   }

   public static void PrintIndexAndValues( String[] myArr )  {
      for ( int i = 0; i < myArr.Length; i++ )
         Console.WriteLine( "\t[{0}]:\t{1}", i, myArr[i] );
      Console.WriteLine();
   }
}


/* 
This code produces the following output.

The ArrayList contains the following values:
        [0]:    The
        [1]:    quick
        [2]:    brown
        [3]:    fox
        [4]:    jumped
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog

The string array contains the following values:
        [0]:    The
        [1]:    quick
        [2]:    brown
        [3]:    fox
        [4]:    jumped
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog

*/


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

public class SamplesArrayList
{
    public static void main(String[] args)
    {
        // Creates and initializes a new ArrayList.
        ArrayList myAL = new ArrayList();
        myAL.Add("The");
        myAL.Add("quick");
        myAL.Add("brown");
        myAL.Add("fox");
        myAL.Add("jumped");
        myAL.Add("over");
        myAL.Add("the");
        myAL.Add("lazy");
        myAL.Add("dog");
        // Displays the values of the ArrayList.
        Console.WriteLine("The ArrayList contains the following values:");
        PrintIndexAndValues(myAL);
        // Copies the elements of the ArrayList to a string array.
        String myArr[] = ((String[])(myAL.ToArray(String.class.ToType())));
        // Displays the contents of the string array.
        Console.WriteLine("The string array contains the following values:");
        PrintIndexAndValues(myArr);
    } //main

    public static void PrintIndexAndValues(ArrayList myList)
    {
        int i = 0;
        for (int iCtr = 0; iCtr < myList.get_Count(); iCtr++) {
            Object o = myList.get_Item(iCtr);
            Console.WriteLine("\t[{0}]:\t{1}", System.Convert.ToString(i++),
                System.Convert.ToString(o));
        }
        Console.WriteLine();
    } //PrintIndexAndValues

    public static void PrintIndexAndValues(String[] myArr)
    {
        for (int i = 0; i < myArr.get_Length(); i++) {
            Console.WriteLine("\t[{0}]:\t{1}", System.Convert.ToString(i),
                System.Convert.ToString(myArr.get_Item(i)));
        }
        Console.WriteLine();
    } //PrintIndexAndValues
} //SamplesArrayList

/* 
    This code produces the following output.
    The ArrayList contains the following values:
        [0]:    The
        [1]:    quick
        [2]:    brown
        [3]:    fox
        [4]:    jumped
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog

    The string array contains the following values:
        [0]:    The
        [1]:    quick
        [2]:    brown
        [3]:    fox
        [4]:    jumped
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog
*/

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
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft