如何将ArrayList转换为int

时间:2015-10-25 15:59:21

标签: c#

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

hashCode

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

  

无法将类型对象隐式转换为int ....

我知道我可以使用显式转换,如下所示:

ArrayList array = new ArrayList();
int var1 = 10;
int var2;

array.Add(var1);
var2 = array[0];

var2 = (int)array[0];

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

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

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

我错过了什么,或者他们只是错误地将答案标记为正确?

2 个答案:

答案 0 :(得分:-1)

我尝试((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();

答案 1 :(得分:-1)

您的代码有错误... 您可以将Array List项目转换为Generic List,然后可以从该Generic Collection中选择任何项目。 这是正确的代码

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