这段代码给了我和异常
集合已被修改;枚举操作可能不会执行
我使用实体框架来处理数据
foreach (OfflineMessage omc in _offMsgs)
{
var OimDB = new OimDBEntities();
if (omc.MsgTo == e.MessageData.ToHeader.Uri)
{
var offlineMessage = new OfflineMessage
{
Delivered = false,
MsgContent = omc.MsgContent,
MsgFrom = omc.MsgFrom,
MsgTime = omc.MsgTime,
MsgTo = omc.MsgTo,
ID = OimDB.OfflineMessages.NextId(f => f.ID)
};
oimRepository.InsertOIM(offlineMessage);
//InsertData(omc.MsgFrom, omc.MsgTo, omc.MsgContent, omc.MsgTime);
}
}
_toHeader = e.MessageData.ToHeader.Uri;
}发布于 2012-09-08 08:58:50
foreach (OfflineMessage omc in _offMsgs)
{
if (omc.MsgTo == _toHeader)
{
_offMsgs.Remove(omc);
}
}在迭代集合时,要从集合中移除元素。你不能这么做。与其删除,不如将它们添加到临时列表中,然后在foreach循环之后删除项。
https://stackoverflow.com/questions/12329395
复制相似问题