当前位置: 代码迷 >> C# >> 关于集合发生变化的有关问题
  详细解决方案

关于集合发生变化的有关问题

热度:31   发布时间:2016-05-05 03:46:50.0
关于集合发生变化的问题
有一个集合dy,我想保留传入来的的键,其余都remove掉,
可是按照下面的那种写法就会报出集合发生变化的问题,
有什么办法可以避免呢?


Dictionary<string, string> dy = new Dictionary<string, string>();
                dy.Add("a", "A"); dy.Add("b", "B"); dy.Add("c", "C"); dy.Add("d", "D"); dy.Add("e", "E");

                //如果key不等于c或者d就remove
                foreach (KeyValuePair<string, string> kv in dy)
                {
                    if (kv.Key != "c" || kv.Key != "d")
                    {
                        dy.Remove(kv.Key);
                    }
                }

------解决思路----------------------
linq的where直接创建一个新的dic
  相关解决方案