如何将ArrayList转换为int

本文关键字:int 转换 ArrayList | 更新日期: 2023-09-27 18:19:13

我有一些非常简单的代码:

ArrayList array = new ArrayList();
int var1 = 10;
int var2;
array.Add(var1);
var2 = array[0];

和Visual Studio显示一个错误,如我所料:

不能隐式地将类型对象转换为int....

我知道我可以使用显式转换,像这样:

var2 = (int)array[0];

var2 = Convert.ToInt32(array[0]);

我在一些测试中发现了这个问题,不幸的是,没有提供这两个答案,他们标记为正确答案:

var2 = ((List<int>)array)[0];

我已经测试了这个解决方案,在vs中有另一个错误。

是我错过了什么,还是他们只是犯了一个错误,把答案标记为正确?

如何将ArrayList转换为int

我尝试了((List<int>)array)和VS抛出以下异常。

Compilation error (line 16, col 17): Cannot convert type 'System.Collections.ArrayList' to 'System.Collections.Generic.List<int>'

所以,我同意你标记的答案是不正确的。

还有,想知道是否有像

这样的大小写选项
var2 = array.Cast<int>().First();

您的代码有错误…可以将"数组列表"项转换为"泛型列表",然后从该泛型集合中选择任何项。下面是正确的代码

 var2= ((List<int>)array[0])[0];