我有两个Dictionary<string,int> dic1和dic2我想要的就是判断dic2中的某个key在dic1中是否存在,如果有,就在dic2中删掉这个key所在的元素。本来我是傻乎乎的用foreach做的foreach(string x in dic2.Keys)
{
if(dic1.ContainsKey(x)
dic2.Remove(x);
}我晕死了。他们说foreach里面不能做移除,用for可以。
我该怎么办呢?Dictionary好像不能用下标访问啊,怎么用for去重呢?
{
if(dic1.ContainsKey(x)
dic2.Remove(x);
}我晕死了。他们说foreach里面不能做移除,用for可以。
我该怎么办呢?Dictionary好像不能用下标访问啊,怎么用for去重呢?
解决方案 »
- 我在Resources.resx 加了一个 文本文件,怎么读出?
- C#实现远程关机功能(windows和linux)源码实例
- C#winform用listview+imagelist做出windows系统浏览缩略图的效果。
- 关于C#能不能自动生成Test文件?等指导
- Frm.ShowDialog(); 错误!!!
- 修改URL外面的值
- 为什么连接不到本地数据库?
- C#(WinForm) 获取局域网内的SQL Server服务器名遇到的问题,请帮忙解决
- Excel 设了密码后 怎么也打不开了~~~~~~
- 一个正则表达式的问题
- 把datagridview 数据tostring 时怎么固定每一列的宽度????
- UDP 组播/广播中的疑惑!
foreach (string x in dic2.Keys)
{
if (dic1.ContainsKey(x)) _List.Add(x); } for (int i = 0; i != _List.Count; i++)
{
dic2.Remove(_List[i].ToString());
}这样不行?
where !dict1.ContainsKey(d2.Key)
select d2;返回的query就是过滤后的Dictionary了。我只是简单的试了下,不知道会不会有其他问题
{
if(dic2.ContainsKey(x))
dic2.Remove(x);
} 这样似呼是一样的啊,只要dict2不在foreach 中
{
if(dic2.ContainsKey(x)
dic2.Remove(x);
}这样应该可以!