.net 在C+中从SortedDictionary进行迭代时删除项+;

.net 在C+中从SortedDictionary进行迭代时删除项+;,.net,visual-c++,.net,Visual C++,如果条件满足,我想在迭代时从SortedDictionary中删除项。它在移除第一项后崩溃。下面的代码片段可能有什么问题 //SortedDictionary<String^, Status^> deviceStatus // deviceStatus already has some data for each(KeyValuePair<String^, Status^> kvp in deviceStatus) { if (kvp.Valu

如果条件满足,我想在迭代时从SortedDictionary中删除项。它在移除第一项后崩溃。下面的代码片段可能有什么问题

   //SortedDictionary<String^, Status^> deviceStatus
    // deviceStatus already has some data

for each(KeyValuePair<String^, Status^> kvp in deviceStatus)
 {
     if (kvp.Value.connected ==false)
        deviceStatus.Remove(kvp.Key);
 }
//SortedDictionary deviceStatus
//deviceStatus已经有了一些数据
对于每个(deviceStatus中的KeyValuePair kvp)
{
如果(kvp.Value.connected==false)
deviceStatus.Remove(kvp.Key);
}

为什么这个标记为C++?应该提供关于正在获取的错误的信息。在使用<代码> IcDeaby