Sun*_*nny 2 c# linq linq-to-objects
我有两个词典dict1和dict2,我想从dict2中删除dict2中使用其键的项目.而不是循环通过dict2并使用"ContainsKey"方法,我还有其他方法,比如使用linq.
适当的方法是:
foreach(var key in dic2.Keys)
{
dic1.Remove(key);
}
Run Code Online (Sandbox Code Playgroud)
LINQ代表语言集成查询.它用于执行数据查询.查询不会改变底层结构.因为你想要做的是改变其中一个查询LINQ不是一个合适的工具.
另请注意,Remove返回一个布尔值,指示它是否实际删除了该键.它没有抛出异常.ContainsKey在调用remove之前不需要调用(这将为每个项目节省额外的表查找).