將對象數組轉換爲整數數組的最簡單方法是什麼?將Object []數組轉換爲整數數組
ArrayList al = new ArrayList();
object arrayObject = al.ToArray();
int[]arrayInteger = ?
感謝
將對象數組轉換爲整數數組的最簡單方法是什麼?將Object []數組轉換爲整數數組
ArrayList al = new ArrayList();
object arrayObject = al.ToArray();
int[]arrayInteger = ?
感謝
使用int[]arrayInteger = (int[])al.ToArray(typeof(int));
但除非你使用的是.NET 1.1,用戶List<int>
代替。
如果導入System.Linq
命名空間,你可以這樣做:
int[] arrayInteger = a1.Cast<int>().ToArray();
你可以使用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
。
(對象[]事件類型)假設事件類型是一個整數的所有對象,這將做到這一點:
int[] eventTypeIDs = eventTypes.Select(Convert.ToInt32).ToArray();
我沒有看到你轉換被攝體[]在這裏。 – NetMage