ArrayList.ToArray 方法

定义

ArrayList 的元素复制到新数组中。Copies the elements of the ArrayList to a new array.

重载

ToArray()

ArrayList 的元素复制到新 Object 数组中。Copies the elements of the ArrayList to a new Object array.

ToArray(Type)

ArrayList 的元素复制到新的指定元素类型数组中。Copies the elements of the ArrayList to a new array of the specified element type.

ToArray()

ArrayList 的元素复制到新 Object 数组中。Copies the elements of the ArrayList to a new Object array.

public:
 virtual cli::array <System::Object ^> ^ ToArray();
public virtual object[] ToArray ();
public virtual object?[] ToArray ();
abstract member ToArray : unit -> obj[]
override this.ToArray : unit -> obj[]
Public Overridable Function ToArray () As Object()

返回

Object[]

一个包含 ArrayList 的元素副本的 Object 数组。An Object array containing copies of the elements of the ArrayList.

注解

使用 Array.Copy (一个 O(n) 操作,其中为)复制元素 n CountThe elements are copied using Array.Copy, which is an O(n) operation, where n is Count.

适用于

ToArray(Type)

ArrayList 的元素复制到新的指定元素类型数组中。Copies the elements of the ArrayList to a new array of the specified element type.

public:
 virtual Array ^ ToArray(Type ^ type);
public virtual Array ToArray (Type type);
abstract member ToArray : Type -> Array
override this.ToArray : Type -> Array
Public Overridable Function ToArray (type As Type) As Array

参数

type
Type

要创建和复制元素的目标数组的元素 TypeThe element Type of the destination array to create and copy elements to.

返回

Array

包含 ArrayList 的元素副本的指定元素类型数组。An array of the specified element type containing copies of the elements of the ArrayList.

例外

typenulltype is null.

ArrayList 的类型无法自动转换为指定类型。The type of the source ArrayList cannot be cast automatically to the specified type.

示例

下面的复制示例演示如何将的元素复制 ArrayList 到字符串数组。The following copy example shows how to copy the elements of an ArrayList to a string array.

using namespace System;
using namespace System::Collections;
void PrintIndexAndValues( ArrayList^ myList );
void PrintIndexAndValues( array<String^>^myArr );
int main()
{
   // Creates and initializes a new ArrayList.
   ArrayList^ myAL = gcnew ArrayList;
   myAL->Add( "The" );
   myAL->Add( "quick" );
   myAL->Add( "brown" );
   myAL->Add( "fox" );
   myAL->Add( "jumps" );
   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.
   array<String^>^myArr = reinterpret_cast<array<String^>^>(myAL->ToArray( String::typeid ));

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

void PrintIndexAndValues( ArrayList^ myList )
{
   int i = 0;
   IEnumerator^ myEnum = myList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ o = safe_cast<Object^>(myEnum->Current);
      Console::WriteLine( "\t[{0}]:\t{1}", i++, o );
   }

   Console::WriteLine();
}

void PrintIndexAndValues( array<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]:    jumps
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog

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

*/
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( "jumps" );
      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]:    jumps
        [5]:    over
        [6]:    the
        [7]:    lazy
        [8]:    dog

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

*/

Imports System.Collections

Public Class SamplesArrayList

    Public Shared Sub Main()

        ' Creates and initializes a new ArrayList.
        Dim myAL As New ArrayList()
        myAL.Add("The")
        myAL.Add("quick")
        myAL.Add("brown")
        myAL.Add("fox")
        myAL.Add("jumps")
        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.
        Dim myArr As String() = CType(myAL.ToArray(GetType(String)), String())

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

    End Sub

    Overloads Public Shared Sub PrintIndexAndValues(myList As ArrayList)
        Dim i As Integer = 0
        Dim o As [Object]
        For Each o In  myList
            Console.WriteLine("        [{0}]:    {1}", i, o)
            i = i + 1
        Next o
        Console.WriteLine()
    End Sub

    Overloads Public Shared Sub PrintIndexAndValues(myArr() As String)
        Dim i As Integer
        For i = 0 To myArr.Length - 1
            Console.WriteLine("        [{0}]:    {1}", i, myArr(i))
        Next i
        Console.WriteLine()
    End Sub

End Class


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

注解

对象中的所有对象 ArrayList 都将转换为 Type 参数中指定的 typeAll of the objects in the ArrayList object will be cast to the Type specified in the type parameter.

使用 Array.Copy (一个 O(n) 操作,其中为)复制元素 n CountThe elements are copied using Array.Copy, which is an O(n) operation, where n is Count.

另请参阅

适用于