【发布时间】:2016-08-31 17:33:13
【问题描述】:
我有一本字典。对象的同一个实例可以分布在多个键上。我正在编写一个方法,以便您可以传递实例,并且该实例的所有键都将被删除。
以下工作,但我对 Linq 很弱。有更好的方法吗?我对优雅的代码很感兴趣,但我更关注速度。我怎样才能让这段代码运行得更快(不管删除是否成功,不删除)?
/// <summary>
/// Removes obstacle from the level, and returns true if the removal was successful
/// </summary>
public bool Remove(Obstacle obstacle)
{
if (!obstacleMap.ContainsValue(obstacle))
{
return false;
}
foreach (var key in obstacleMap.Keys.Where(k => obstacleMap[k] == obstacle))
{
obstacleMap.Remove(key);
}
return true;
}
【问题讨论】:
标签: c# linq dictionary