2013-05-30 33 views
0

我刚刚使用C#并尝试构建一个简单的Windows应用商店应用程序。但我不明白为什么ArrayList找不到。在下面的代码中,我尝试在Button_Click_1()函数中使用ArrayList。我收到的错误是“The type or namespace name 'ArrayList' could not be found”,但我使用的是System.Collections,其中包含ArrayList不能在密封的部分类中使用外部类

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 

// The Basic Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234237 

namespace Statistics 
{ 
    /// <summary> 
    /// A basic page that provides characteristics common to most applications. 
    /// </summary> 
    public sealed partial class MainPage : Statistics.Common.LayoutAwarePage 
    { 
     public MainPage() 
     { 
      this.InitializeComponent(); 
     } 

     /// <summary> 
     /// Populates the page with content passed during navigation. Any saved state is also 
     /// provided when recreating a page from a prior session. 
     /// </summary> 
     /// <param name="navigationParameter">The parameter value passed to 
     /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested. 
     /// </param> 
     /// <param name="pageState">A dictionary of state preserved by this page during an earlier 
     /// session. This will be null the first time a page is visited.</param> 
     protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState) 
     { 
     } 

     /// <summary> 
     /// Preserves state associated with this page in case the application is suspended or the 
     /// page is discarded from the navigation cache. Values must conform to the serialization 
     /// requirements of <see cref="SuspensionManager.SessionState"/>. 
     /// </summary> 
     /// <param name="pageState">An empty dictionary to be populated with serializable state.</param> 
     protected override void SaveState(Dictionary<String, Object> pageState) 
     { 
     } 

     private void Button_Click_1(object sender, RoutedEventArgs e) 
     { 
      ArrayList data = new ArrayList(); 
     } 

     private void TextBox_TextChanged_1(object sender, TextChangedEventArgs e) 
     { 

     } 
    } 
} 
+0

奇怪的;它适用于VS 2012,.NET 4.5(控制台应用程序)。 –

回答

4

您针对Windows商店:这意味着你使用的是磊科的框架。这不是常规.NET框架

  • 是有一些独特的东西给它
  • 它缺乏一些东西从常规的框架
  • 一些事情有不同的特点

ArrayList被不包含。改用List-of-T。 List<object >就足够了,但更具体的类型将是更可取的。

+0

好的谢谢!我会尽力 – mdw7326

1

非通用集合在winRT(windows store)应用程序中不可用。

使用泛型列表类型:

List<T> 
+0

对不起,我只是想指出这个答案是完全正确的,但是,马克的更完整 – mdw7326