السلام عليكم ورحمة الله وبركاته
عند تحويل [ ]object الناتجة من ArrayList إلى نوع آخر مثل [ ]int أو [ ]string
يتم عمله كما في المثال التالي :
// Convert an ArrayList into an array.
using System;
using System.Collections;
public class ArrayListToArray {
public static void Main() {
ArrayList al = new ArrayList();
// Add elements to the array list.
al.Add(1);
al.Add(2);
al.Add(3);
al.Add(4);
Console.Write("Contents: ");
foreach(int i in al)
Console.Write(i + " ");
Console.WriteLine();
// Get the array.
int[] ia = (int[]) al.ToArray(typeof(int));
int sum = 0;
// sum the array
for(int i=0; i<ia.Length; i++)
sum += ia;
Console.WriteLine("Sum is: " + sum);
}
}وتتم هذه الطريقة لأنه بدون إستخدام هذا الأسلوب
int[] ia = (int[]) al.ToArray(typeof(int));
وإستخدامها بطريقة عادية ، مما ينتج خطأ في الكود
int[] ia = (int[]) al.ToArray();
أو
int[] ia = al.ToArray();
يتم ظهور خطأ وهو
"Cannot convert type 'object[]' to 'int[]'"
