Protocol protocol = FormatProtocol(strProtocol, LMConstants.PROTOCOLTYPE_COMMAND);
                                        string EquipmentID = protocol.Param.Substring(0, 4);
                                        string currentNow = protocol.Param.Substring(8, 4);
                                        int currentNowValue = Convert.ToInt32(currentNow, 16);                                        if (currentList.Count == 0)
                                        {
                                            //CMMLog.Error("集合中无值,第一次添加值");
                                            currentList.Add(EquipmentID, currentNowValue.ToString() + ";");
                                        }
                                        else
                                        {
                                            bool isExist = false;
                                            for(int i = 0; i < currentList.Keys.Count;i++ )
                                            {
                                                string key = currentList.Keys.ElementAt(i).ToString();
                                                if (key == EquipmentID)
                                                {
                                                    isExist = true;
                                                    currentList[EquipmentID] += currentNowValue.ToString() + ";";                                                 
                                                    if (LMUtils.GetStrCount(currentList[EquipmentID]) >= LMConstants.XINTIAOPINLV)
                                                    {
                                                       
                                                        string lastCurrent = LMUtils.GetResult(currentList[EquipmentID]).ToString();
                                                    
                                                        currentList.Remove(EquipmentID);                                                                                                          //执行插入操作
                                                        BLLDeviceManage.InsertCureent(curDeviceCode, lastCurrent, "0");                                                     
                                                        break;
                                                    }
                                                }                                            }
                                            if (isExist == false)
                                            {
                                                CMMLog.Error("循环无此键,插入键值!");
                                                currentList.Add(EquipmentID, currentNowValue.ToString() + ";");
                                            }
  这个方法是每个设备1秒来一次数据,约30多个设备,想要每个设备10秒一次插入一次数据库,放入临时变量集合中,累计到10条再取最后一条数据,再清空。这个写的有问题,该怎么改?会包关键字不在字典中,索引超出范围等。