创建一类对象数组,添加10元素(类对象),怎么删除指定的元素?

解决方案 »

  1.   

    垃圾收集会替管
    或者用Arraylist
      

  2.   

    用arraylist吧...继承collectionbase或者dictionarybase 自己写强类型化也可以
    或者泛型List<T>或Dictionary<K,V>
      

  3.   

    你可能理解错了。比如下列代码:
    ArrayList al=new ArrayList();
    class1 cc=new class1();
    for(int i=0;i<10;i++)
    {
    cc.ID=i;
    cc.Name="Name"+i.ToString();
    al.Add(cc);
    }我现在要删除其中的两个元素,要怎么做?
      

  4.   

    我的实际代码如下,我再添加或删除时就会出现删除了不该删除的元素DEMaintance_labourCol LabCol=new DEMaintance_labourCol();//用作查询状态
    ArrayList al=ViewState["LabourCol"] as ArrayList;
    if(al!=null)
    {
    LabCol=new DEMaintance_labourCol(al);
    }
    bool IsExist=false;
    CheckBox cb=new CheckBox();
    DEMaintance_labour Lab;
    DEMaintance_labourCol VSLabCol=new DEMaintance_labourCol();//用作实际用户选择的维修项目
    VSLabCol=LabCol;
    for(int i=0;i<this.labGride.Items.Count;i++)
    {
    if(LabCol!=null)
    {
    for(int j=0;j<LabCol.Count;j++)
    {
    Lab=(DEMaintance_labour)LabCol[j];
    if(Convert.ToInt32(this.labGride.Items[i].Cells[0].Text)==Lab.labID)
    {
    IsExist=true;
    break;
    }
    }
    }
    if(IsExist)
    {
    VSLabCol.Remove((DEMaintance_labour)LabCol[i]);  //移除项目
    IsExist=false;
    }
    cb=(CheckBox)this.labGride.Items[i].FindControl("cbSelect");
    if(cb.Checked)
    {
    DEMaintance_labour tmpLab=GetDGLab(i);
    VSLabCol.Add(tmpLab);  //添加项目
    }
    }
    ViewState["LabourCol"]=VSLabCol;
      

  5.   

    重新粘贴一下。
    DEMaintance_labourCol LabCol=new DEMaintance_labourCol();//用作查询状态
    ArrayList al=ViewState["LabourCol"] as ArrayList;
    if(al!=null)
    {
    LabCol=new DEMaintance_labourCol(al);
    }
    bool IsExist=false;
    CheckBox cb=new CheckBox();
    DEMaintance_labour Lab;
    DEMaintance_labourCol VSLabCol=new DEMaintance_labourCol();//用作实际用户选择的维修项目
    VSLabCol=LabCol;
    for(int i=0;i<this.labGride.Items.Count;i++)
    {
    if(LabCol!=null)
    {
    for(int j=0;j<LabCol.Count;j++)
    {
    Lab=(DEMaintance_labour)LabCol[j];
    if(Convert.ToInt32(this.labGride.Items[i].Cells[0].Text)==Lab.labID)
    {
    IsExist=true;
    break;
    }
    }
    }
    if(IsExist)
    {
    VSLabCol.Remove((DEMaintance_labour)LabCol[i]);  //移除项目
    IsExist=false;
    }
    cb=(CheckBox)this.labGride.Items[i].FindControl("cbSelect");
    if(cb.Checked)
    {
    DEMaintance_labour tmpLab=GetDGLab(i);
    VSLabCol.Add(tmpLab);  //添加项目
    }
    }
    ViewState["LabourCol"]=VSLabCol;