c# 字典集合 及 list集合 查找更改某项值

dic字典集合

 if (failSend.Keys.Contains(newEmail.SendAccount.Id))
                    {
                        failSend[newEmail.SendAccount.Id] += 1;
                        if (Convert.ToDouble(failSend[newEmail.SendAccount.Id])/sendEmailCount>0.05)
                        {
                            //开启调度线程
                        }
                    }
                    else
                    {
                        failSend.Add(newEmail.SendAccount.Id, 1);
                    }

字典集合相对简单

list集合

if (newEmail.Failcount == 0 || (newEmail.Failcount == 1 && newEmail.Flag == "2"))
                {
                    int index = sendlist.FindLastIndex(delegate(EDMSendAccount user) { return user.Id == newEmail.SendAccount.Id; });
                    if (index < 0)
                    {
                        sendlist.Add(newEmail.SendAccount);
                        index = sendlist.Count - 1;
                    }
                    sendlist[index].SendCount += 1;
                    sendlist[index].Last_Send_Time = DateTime.Now;
                    EDMSendAccountBLL.UpdateEDMSendAccountBySendCount(sendlist[index], sendEmailCount);
                }

目前理解:list集合内只有存放 类对象时 才可以更改类对象的属性值  存放其他 比如结构体等 估计会报错

利用这种查找方式 可以省去 循环遍历过程 如果遍历集合的话 动态添加集合项时 会报错  但利用这种查找方式 方便而简单

 

 

posted on 2013-07-03 17:21  酒歌  阅读(2534)  评论(0编辑  收藏  举报