public void func1(int i)
    {
       baseData bd = new  baseData();
       bd.i = 79;
       bd.str = "dff";
       arrBase.Add(bd);
     }or you are sure you have more than i items in arrBase, tryvoid func1(int i)
    {
       ((baseData)arrBase[i]).i = 79;
       ((baseDataarrBase[i]).str = "dff";
     }but this might not work, since baseData is a ValueTypevoid func1(int i)
    {
        baseData bd = (baseData)arrBase[i];
        bd.i = 79;
        bd.str = "dff";
        arrBase[i] = bd;
     }

解决方案 »

  1.   

    public class Mng
    {
    struct baseData
    {
    public int i;
    public string str;
    }  public ArrayList arrBase =new ArrayList();
        public Mng()
    {
    this.arrBase.Add(new Mng.baseData());//添加一个Mng.baseData对象实例,到ArrayList实例中
    this.arrBase.Add(new Mng.baseData());//添加第二个个Mng.baseData对象实例
    } public void func1(int i)
    {
    //因为在构造方法中已经添加了两个对象到arrBase中所以(func1方法参数i可以为0和1)
    baseData bD=(baseData)arrBase[i] ;
    bD.i=97;
    bD.str="dff"; }
    }
      

  2.   

    我不要分,只是希望楼主帮我顶一下这个帖子。万分的谢谢。"关于【存储过程】和【触发器】在项目中是否滥用的请教和讨论。"
    http://expert.csdn.net/Expert/topic/2360/2360064.xml?temp=.5153467
      

  3.   

    ArrayList list = new ArrayList();
    list.Add(new Object());
      

  4.   

    就是为什么不用ArrayList对象的Add方法!