C# ArrayList - ToArray() 方法
C# ArrayList 的 ToArray() 方法用于将 ArrayList 中的元素复制到一个新的数组对象中。它还可以创建指定元素类型的新数组。此方法允许我们以数组格式处理数据,这可能更适合某些特定情况。
语法
以下是 C# ArrayList 的语法: ToArray() 方法 -
public virtual Array ToArray(); public virtual Array ToArray (Type type);
参数
此方法接受单个参数 -
- type:指定返回数组中元素的所需类型。
返回值
此方法返回一个包含指定元素类型的数组,其中包含 ArrayList 元素的副本。
示例 1:将整个 ArrayList 转换为 ToArray
以下是使用 ToArray() 方法将 ArrayList 转换为 Array 对象的基本示例 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { 10, "Hello", 3.4, "tutorialspoint"}; object[] array = list.ToArray(); Console.WriteLine("Array Elements:"); foreach (var item in array) { Console.WriteLine(item); } } }
输出
以下是输出 -
Array Elements: 10 Hello 3.4 tutorialspoint
示例 2:将 ArrayList 转换为整数数组
以下示例创建一个包含整数元素的 ArrayList。然后,我们使用 ToArray() 方法将 ArrayList 转换为整数数组 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { 1, 2, 3 }; // 转换为 int 数组 int[] intArray = (int[])list.ToArray(typeof(int)); Console.WriteLine("Integer Array Elements:"); foreach (var item in intArray) { Console.WriteLine(item); } } }
输出
以下是输出 -
Integer Array Elements: 1 2 3
示例 3:将 ArrayList 转换为字符串数组
在此示例中,我们使用 ToArray() 方法将 ArrayList 转换为字符串数组对象 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { "Aman", "Rahhul", "Akash", "Vivek"}; // 转换为 int 数组 string[] strArray = (string[])list.ToArray(typeof(string)); Console.WriteLine("String Array Elements:"); foreach (var item in strArray) { Console.WriteLine(item); } } }
输出
以下是输出 -
String Array Elements: Aman Rahhul Akash Vivek
示例 4:如果 ArrayList 包含不同类型的元素
在下面的示例中,此方法抛出"InvalidCastException"。如果源 ArrayList 包含不同类型的元素,则无法自动转换为指定类型 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { "Aman", 'A', "Rahhul", 'R', "Akash", "Vivek", 'v'}; // 转换为 int 数组 string[] strArray = (string[])list.ToArray(typeof(string)); Console.WriteLine("String Array Elements:"); foreach (var item in strArray) { Console.WriteLine(item); } } }
输出
以下是输出 -
Unhandled Exception: System.InvalidCastException