如下: 我想把产生的P1,P2,......累加到一个SumoutParam 中,如何实现,谢谢大侠讲解! 
    
    if (!svr.getCountryBasicInfo(inParam, out P1)) throw new ApplicationException(svr.ErrMsg);      if (!svr.getCh_sjrs(inParam, out P2)) throw new ApplicationException(svr.ErrMsg);
 
       NameValueCollection  SumoutParam=new NameValueCollection();
        下面如何操作,小弟才疏学浅  哪位大哥指点下啊

解决方案 »

  1.   

    如何把一个NameValueCollection 类型的值循环付给另一个NameValueCollection 的变量啊?
      

  2.   

    也是NameValueCollection 类型的变量, 现在我不这么做了,我把每个产生的P1,P2 都循环赋值给一个NameValueCollection P 的变量P,  如何循环赋值啊
      我这样写不对,哪位大哥赐教一下!
       for(int i=0;i<P1.count;i++)
    {
    P.Add(P1[i]);
    }
    为什么不对啊?????
      

  3.   

    如果直接赋值,这两个就是引用相等,而不是两个NameValueCollection,也就是说P1中的某一项改变,你会发现P中的那一项也改变了,这个是你需要的吗?如果需要一个新的NameValueCollection,那么就不能直接赋值,可以试试下面的代码
    NameValueCollection p1 = new NameValueCollection();
    p1.Add("a", "b");
    p1.Add("c", "d");NameValueCollection p = new NameValueCollection();
    for (int i = 0; i < p1.Count; i++)
    {
        p.Add(p1.Keys[i], p1[i]);
    }
      

  4.   

      if (!svr.getCountryBasicInfo(inParam, out P1)) throw new ApplicationException(svr.ErrMsg);       if (!svr.getCh_sjrs(inParam, out P2)) throw new ApplicationException(svr.ErrMsg); 改为:
         if (!svr.getCountryBasicInfo(inParam, ref P1)) throw new ApplicationException(svr.ErrMsg);       if (!svr.getCh_sjrs(inParam, ref P2)) throw new ApplicationException(svr.ErrMsg); 
    然后累加p1,p2 就可以了 啊,谢谢大家,结贴了