ArrayList friends = new ArrayList();
            try
            {
                while (i < ConnectHelper.ds.Tables["Friends"].Rows.Count)
                {
                    if (Convert.ToInt32(ConnectHelper.ds.Tables["Friends"].Rows[i][1]) == ConnectHelper.nowUser)
                    {
                        friends.Add(Convert.ToInt32(ConnectHelper.ds.Tables["Friends"].Rows[i][2]));
                        u++;
                    }
                    i++;
                }
            }
            catch (Exception c)
            {
                MessageBox.Show(c.Message);
            }
帮助解决下!我菜鸟!这里Catch说“未将对象引用设置到对象的实例”,我估计是Add那里参数错了!高手指点!

解决方案 »

  1.   

    单步跟踪看看值
    还有ConnectHelper.nowUser
    DataTable dt=ConnectHelper.ds.Tables["Friends"];
    while (i <dt.Rows.Count) 
        { 
             if (Convert.ToInt32(dt.Rows[i][1])==ConnectHelper.nowUser) 
             { 
                 friends.Add(Convert.ToInt32(dt.Rows[i][2])); 
                 u++; 
             } 
            i++; 
        } 
      

  2.   

    这不是 ArrayList 是你的 数据集里 没有得到值。
      

  3.   


    ArrayList friends = new ArrayList();
                try
                {
                    while (i < ConnectHelper.ds.Tables["Friends"].Rows.Count)
                    {
                        if (Convert.ToInt32(ConnectHelper.ds.Tables["Friends"].Rows[i][1]) == ConnectHelper.nowUser)
                        {
                            friends.Add(Convert.ToInt32(ConnectHelper.ds.Tables["Friends"].Rows[i][1]));
                            u++;
                        }
                        i++;
                    }
                }
                catch (Exception c)
                {
                    MessageBox.Show(c.Message);
                } 
      

  4.   

    你要跟一下。
    看哪里出现NULL了。
      

  5.   

    你这个代码里面关于ArrayList的部分没有错误,catch后提示的错误不应定就是这里,你try的部分不仅仅只有ArrayList而已,比如说你dataset,datatable之类的可能在执行这段代码之前没有被实例化,也会报这个错误的,看看你这段代码所涉及到的对象吧,问题应该很容易找到,单步跟一下
      

  6.   

    MessageBox.Show(c.StackTrace);把异常堆栈打出来。基本能够定位到错误。 
      

  7.   

    你没有考虑ConnectHelper.ds.Tables["Friends"].Rows为null的情况。
      

  8.   

    ConnectHelper.ds为空
    ConnectHelper.ds.Tables["Friends"]为空
      

  9.   

    其它的不多说了,楼上基本上说全了,不过,注意while (i < ConnectHelper.ds.Tables["Friends"].Rows.Count) 中的i使用前没有声明没有初始化,看看有没有这可能。