2012-12-29 28 views

回答

1

使用int[]arrayInteger = (int[])al.ToArray(typeof(int));

但除非你使用的是.NET 1.1,用戶List<int>代替。

+0

我沒有看到你轉換被攝體[]在這裏。 – NetMage

2

如果導入System.Linq命名空間,你可以這樣做:

int[] arrayInteger = a1.Cast<int>().ToArray(); 
0

你可以使用Array.ConvertAll

int[] intArray = Array.ConvertAll<object, int>(al.ToArray(), (o) => (int)o); 

有一點要考慮的是,因爲這是一個object陣列中所有的值可能不是int 這是很方便的事情有關ConvertAll,你可以添加簡單的轉換邏輯抓錯誤。

場景:

ArrayList al = new ArrayList() { 1,"hello",3,4,5,6 }; 
int[] intArray = Array.ConvertAll<object, int>(al.ToArray(), (o) => { int val = -1; return int.TryParse(o.ToString(), out val) ? val : -1;}); 

這樣我們就可以在對象上,由於錯誤的數據進行TryParse,以避免任何InvalidCastException

0

(對象[]事件類型)假設事件類型是一個整數的所有對象,這將做到這一點:

 int[] eventTypeIDs = eventTypes.Select(Convert.ToInt32).ToArray();