ArrayList.ToArray 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 ArrayList 的元素复制到新数组中。
重载
ToArray() | |
ToArray(Type) |
将 ArrayList 的元素复制到新的指定元素类型数组中。 |
ToArray()
- Source:
- ArrayList.cs
- Source:
- ArrayList.cs
- Source:
- ArrayList.cs
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 数组。
注解
元素是使用 Array.Copy复制的,这是一个 O(n)
操作,其中 n
是 Count。
适用于
ToArray(Type)
- Source:
- ArrayList.cs
- Source:
- ArrayList.cs
- Source:
- ArrayList.cs
将 ArrayList 的元素复制到新的指定元素类型数组中。
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
参数
返回
包含 ArrayList 的元素副本的指定元素类型数组。
例外
type
为 null
。
源 ArrayList 的类型无法自动转换为指定类型。
示例
下面的复制示例演示如何将 的 ArrayList 元素复制到字符串数组。
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 参数中指定的 type
。
元素是使用 Array.Copy复制的,这是一个 O(n)
操作,其中 n
是 Count。