0

我有一个数组列表

private ArrayList rps = new ArrayList();

现在下面的代码在 2005 年可以正常工作,但在 Visual Studio 2008 中却不行

int min = Convert.ToInt32(rps.Item(0));
int max = Convert.ToInt32(rps.Item(rps.Count - 1));

错误: System.Collections.ArrayList 不包含“Item”的定义,并且找不到接受“System.Collections.ArrayList”类型的第一个参数的扩展方法“Item”(您是否缺少 using 指令或程序集引用?`

4

3 回答 3

3

使用索引器

int min = Convert.ToInt32(rps[0]);

还可以考虑使用List<T>而不是ArrayList.

于 2012-07-24T20:49:27.010 回答
3

该代码在 VS 2005 中也不起作用。类似的东西可能适用于 VB,但不适用于 C#。C# 代码将是:

int min = Convert.ToInt32(rps[0]);
int max = Convert.ToInt32(rps.Item[rps.Count - 1]);

但是,我建议您开始使用通用集合,例如List<T>

于 2012-07-24T20:50:08.510 回答
2

你有一个语法错误:

rps.Item(0)

应该:

rps[0]

注意 - 你真的不应该使用ArrayList- 它早于你应该使用的泛型。

于 2012-07-24T20:49:54.327 回答