我的ArrayList Go在哪里?地铁应用

时间:2012-05-29 20:56:20

标签: c# windows-8 windows-runtime

在使用Visual Studio 11 Express Beta编写的Windows 8应用程序中,我无法使用ArrayList。这是我的代码:

using System.Collections;


ArrayList al = new ArrayList();

编译错误:

  

找不到类型或命名空间名称'ArrayList'(您是否缺少using指令或程序集引用?)

这是新事物吗?我喜欢ArrayLists:)

5 个答案:

答案 0 :(得分:13)

对于WinRT,他们取出了所有非通用集合 - 它更快,并使您的代码更可靠。使用列表< T>代替。

ps ...这不是你最后一次说“为什么他们拿走那个API?”迁移到WinRT时

答案 1 :(得分:1)

修改

考虑到ArrayList的文档,它可用到4.0版本。 检查.NET Framework的项目版本。考虑到你正在为Metro写作,它必须是4.5(至少)。

更多细节可以在这篇文章中看到:

How to use ArrayList class in metro style class library project?

Metro风格应用程序的System.Collections命名空间缺少<{1}}类型的

答案 2 :(得分:1)

Array 4.5在.NET 4.5中不适用于metro风格的应用程序。使用List的通用版本,如果需要对象列表,请使用List<object>

对于.NET for metro style apps API参考,请看这里: http://msdn.microsoft.com/en-us/library/windows/apps/hh454064%28v=vs.110%29.aspx

答案 3 :(得分:0)

您无法在WinRT应用中使用ArrayList,您必须使用List

答案 4 :(得分:0)

这取决于您使用的.NET Framework版本。 .Net 4.5.1不支持ArrayList。您应该使用List的通用形式List<T>而不是ArrayList作为集合类型。

看看这里:

Is List<Object> a good replacement for ArrayList?

您可以在这里了解更多信息:

https://msdn.microsoft.com/en-us/library/41107z8a.aspx