ArrayList.ToArray方法用于将ArrayList的元素复制到新数组。此方法在其重载列表中包含两个方法,如下所示:
- ToArray()
- ToArray(类型)
ToArray()
此方法用于将ArrayList的元素复制到新的Object数组。使用Array.Copy复制元素,这是一个O(n)操作,其中n是Count。
句法:
public virtual object[] ToArray ();
返回值:该方法将返回一个Object数组,其中包含ArrayList元素的副本。
例子:
// C# program to illustrate ToArray() Method
using System;
using System.Collections;
class GFG {
// Main Method
public static void Main()
{
// Create and initalizing ArrayList
ArrayList mylist = new ArrayList(5);
mylist.Add("G");
mylist.Add("E");
mylist.Add("E");
mylist.Add("K");
mylist.Add("S");
// Copy the data of Arraylist into
// the object Array Using ToArray()
// method
object[] str2 = mylist.ToArray();
foreach(string i in str2)
{
Console.WriteLine(i);
}
}
}
输出:
G
E
E
K
S
ToArray(类型)
此方法用于将ArrayList的元素复制到指定元素类型的新数组。使用Array.Copy复制元素,这是一个O(n)操作,其中n是Count。
句法:
public virtual Array ToArray (Type t);
在此, t是要创建元素并将元素复制到的目标数组的元素类型。
返回值:该方法将返回指定元素类型的数组,其中包含ArrayList元素的副本。
例外:
- 如果t的值为null,则此方法将提供ArgumentNullException 。
- 如果无法将源ArrayList的类型强制转换为指定的类型,则此方法将提供InvalidCastException。
注意: ArrayList对象中的所有对象都将强制转换为type参数中指定的Type。
例子:
// C# program to illustrate ToArray(Type) Method
using System;
using System.Collections;
class GFG {
// Main Method
public static void Main()
{
// Create and initalize new array
ArrayList mylist = new ArrayList(5);
mylist.Add("G");
mylist.Add("E");
mylist.Add("E");
mylist.Add("K");
mylist.Add("S");
// Copy the data of Arraylist into
// the string Array Using
// ToArray(Type) method
string[] str2 = (string[])mylist.ToArray(typeof(string));
// Display the data of str2 string
foreach(string i in str2)
{
Console.WriteLine(i);
}
}
}
输出:
G
E
E
K
S
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist.toarray?view=netframework-4.7.2