static void Main(string[] args)
        {
        
            ArrayList ls = new ArrayList();
            ls.Add("苹果");
            ls.Add("橘子");
            ls.Add("芒果");
            ls.Remove("橘子");
            ls.AddRange(new object[] { "香蕉", "梨子" });
            ls.RemoveAt(0);
            if (!ls.Contains("橘子")) ls.Insert(0, "橘子");
            Console.WriteLine(string.Empty);
            foreach (string s in ls) Console.Write("{0}", s);
            ls.Sort();
            Console.WriteLine(string.Empty);
            foreach (string s in ls) Console.Write("{0}", s);
            string[] ar = (string[])ls.ToArray();
            Array.Reverse(ar);
            Console.WriteLine(string.Empty);
            foreach (string s in ar) Console.Write("{0}", s);
       }
这段程序运行时出错应该是string[] ar = (string[])ls.ToArray();这个类型转换有问题,可不知道怎么改,请高人指教!无法将System.object〔)强制转化成System.string[],应该怎么转化!        

解决方案 »

  1.   

    ArrayList al=new ArrayList();
    string[]str=new string[al.Count];
    object [] ar=al.ToArray();
    for(int j=0;j<ar.Length;j++)
    {
    str[j]=Convert.ToString( ar[j]);

    }
      

  2.   

    泛型的List<T>,很好用的,T就是泛型集合存放的数据类型List<string> list=new List<string>();
    list.Add("橘子");

    list.Add("苹果");
    foreach(string s in list)
    {

    Console.WriteLine(s);
    }
      

  3.   

    string[]不是类型,怎么可以转化呢
      

  4.   

    ArrayList换成泛型,现在基本都用泛型static void Main(string[] args)
            {
                List<string> ls = new List<string>();
                //ArrayList ls = new ArrayList();
                ls.Add("苹果");
                ls.Add("橘子");
                ls.Add("芒果");
                ls.Remove("橘子");
                ls.AddRange(new string[] { "香蕉", "梨子" });
                ls.RemoveAt(0);            if (!ls.Contains("橘子")) 
                    ls.Insert(0, "橘子");
                Console.WriteLine(string.Empty);            foreach (string s in ls)
                    Console.Write("{0}", s);
                ls.Sort();
                Console.WriteLine(string.Empty);            foreach (string s in ls)
                    Console.Write("{0}", s);            string[] ar = (string[])ls.ToArray();            Array.Reverse(ar);
                Console.WriteLine(string.Empty);            foreach (string s in ar)
                    Console.Write("{0}", s);
                Console.Read();
            }