Dictionary<long, int> aa= new Dictionary<long, int>();
foreach (userinfo user in userlist)
                    {
                        aa.Add(user.pad, 0);
                    }
forearch(classinfo class in classinfolist)
{
         foreach(KeyValuePair<long, int> returnaa in aa)
         {
            if(class.pad=returnaa.pad)
           {
                  aa[returnaa.key]-=class.count
           }
           else
           {
                  aa[returnaa.key]+=class.count
            }
         }
}程序异常,求正解。 遍历键值无法赋值吗? 还是有其它的办法.

解决方案 »

  1.   

    不做修改值处理,用另一个集合,key于前一个相同,value改变,我就想到这么多,自己看看吧
      

  2.   

    不做修改值处理,用另一个集合,key于前一个相同,value改变,我就想到这么多,自己看看吧
      

  3.   

    不做修改值处理,用另一个集合,key于前一个相同,value改变,我就想到这么多,自己看看吧
      

  4.   

    刚才在网上也看了一下,说key是唯一,再新添加一个.就会覆盖新的 .
    但是程序中会报异常,说已存在相同key值.
      

  5.   

    if(class.pad=returnaa.pad)
     
      

  6.   

    如果你想修改集合中的数据,不要使用foreach循环
      

  7.   

    if(class.pad=returnaa.pad)应为。
    if(class.pad==returnaa.pad)青年低级错误啊
      

  8.   

    看你的代码怎么写得那么复杂呢?好像很简单一个需求吧。
    再有,你怎么可以把class作为变量的呢?真是兵家大忌啊