U3d工作日志【数据结构】

Dictionary

删除字典元素


1.foreach循环遍历字典时,不可以更改原数据字典(Remove不行)
2.解决方案

[for循环里面操作] 
for(int i = 0; i < dic.Count; i++)
{
    var tmp = dic.ElementAt(i);//需要添加using System.Linq
    //可直接在循环里面进行删除操作
    dic.Remove(tmp.Key);
}
[foreach记录,再操作]
List<KeyType> keyList = new List<KeyType>();
foreach(var pair in dic)
{
    if(...)
    {
        keyList.Add(pair.Key);//记录需要处理的元素的Key
    }
}
foreach(var ele in KeyList)
{
    dic.Remove(ele);//再进行删除操作
}

猜你喜欢

转载自blog.csdn.net/itsxwz/article/details/79924264
今日推荐