Object[] myArr;   
public void Remove(object value)
        {
            for (int i = 0; i < count; i++)
                if (myArr[i] == value)
                    RemoveAt(i);
        }  public void RemoveAt(int index)
        {
            Array.Copy(myArr, index+1, myArr, index, count - index - 1);
            count--;
        }            MyArrayList Myarr = new MyArrayList();
            Myarr.Add("12");
            Myarr.Add("3");
            Myarr.Add("4");
            Myarr.Add("5");
            Myarr.Remove("12");  // 这样能remove成功,如果换成
            
            Myarr.Add(12);
            Myarr.Add(3);
            Myarr.Add(4);
            Myarr.Add(5);
            Myarr.Remove(12);     // 就失败了

解决方案 »

  1.   

    我知道了,object类型要用equal
      

  2.   

            private void Form1_Load(object sender, EventArgs e)
            {
                
                ArrayList Myarr = new ArrayList();
                Myarr.Add("12");
                Myarr.Add("3");
                Myarr.Add("4");
                Myarr.Add("5");
                Myarr.Remove("12");  // 这样能remove成功,如果换成
                MessageBox.Show("成功");
                Myarr.Add(12); 
                Myarr.Add(3); 
                Myarr.Add(4); 
                Myarr.Add(5); 
                Myarr.Remove(12);    // 就失败了 
                MessageBox.Show("成功");
                for (int i = 0; i < Myarr.Count; i++)
                {
                    MessageBox.Show(Convert.ToString(Myarr[i]));
                }
            }
    这样没事啊 可以
      

  3.   


            private void Form1_Load(object sender, EventArgs e)
            {
                
                ArrayList Myarr = new ArrayList();
                Myarr.Add("12");
                Myarr.Add("3");
                Myarr.Add("4");
                Myarr.Add("5");
                Myarr.Remove("12");  // 这样能remove成功,如果换成
                MessageBox.Show("成功");
                Myarr.Add(12); 
                Myarr.Add(3); 
                Myarr.Add(4); 
                Myarr.Add(5); 
                Myarr.Remove(12);    // 就失败了 
                MessageBox.Show("成功");
                for (int i = 0; i < Myarr.Count; i++)
                {
                    MessageBox.Show(Convert.ToString(Myarr[i]));
                }
            }
      

  4.   

    ArrayList当然可以,不过我是自己写了个类模仿ArrayList,Remove方法也是自己写的