我有一些代码
muVar = 5782347242-8923423423-3423423432;
比我将它添加到字典。ex {1:57,2:82,3:34,4:72,5:42,6:-,....}我试图得到这个变量的路径
foreach (KeyValuePair<int, string> kvp in myDict)
{
if (kvp.Value == "-") { myDict.Remove(kvp.Key); break; }
foreach (KeyValuePair<string, string> kvp2 in dict2)
{
if (kvp.Value == kvp2.Value) var1 += kvp2.Key;
}
myDict.Remove(kvp.Key);
}
foreach (KeyValuePair<int, string> kvp in myDict)
{
if (kvp.Value == "-") { mytDict.Remove(kvp.Key); break; }
foreach (KeyValuePair<string, string> kvp2 in dict2)
{
if (kvp.Value == kvp2.Value) var2 += kvp2.Key;
}
myDict.Remove(kvp.Key);
}
但我有一个例外:“集合已修改;枚举操作可能无法执行。”
您的foreach循环正在使用该集合,因此您无法在两次循环之间修改它
尝试使用 ToList()
foreach (KeyValuePair<int, string> kvp in myDict.ToList())
{
if (kvp.Value == "-") { myDict.Remove(kvp.Key); break; }
foreach (KeyValuePair<string, string> kvp2 in dict2)
{
if (kvp.Value == kvp2.Value) var1 += kvp2.Key;
}
myDict.Remove(kvp.Key);
}
foreach (KeyValuePair<int, string> kvp in myDict.ToList())
{
if (kvp.Value == "-") { mytDict.Remove(kvp.Key); break; }
foreach (KeyValuePair<string, string> kvp2 in dict2)
{
if (kvp.Value == kvp2.Value) var2 += kvp2.Key;
}
myDict.Remove(kvp.Key);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句