如何规避未使用的out参数值
本文关键字:参数 out 何规避 未使用 | 更新日期: 2023-09-27 18:04:35
我使用ConcurrentDictionary
,我需要使用TryRemove
删除元素。
TryRemove
的实现需要一个out参数,该参数返回要删除的对象。
Body dummy;
if (!bulletBodies.TryRemove(bullet, out dummy))
{
}
...
我不想在每次删除字典中的条目时在虚拟变量上使用额外的行:这就是为什么我试图绕过out返回参数,但键入下面的恐怖内容失败的原因。我也谷歌了一下,没有成功。
bulletBodies.TryRemove(bullet, null);
bulletBodies.TryRemove(bullet, out null);
bulletBodies.TryRemove(bullet, void);
...
是否有一种方法或聪明的技巧来管理未使用的输出参数,因此不需要在任何地方声明虚拟变量?
可以创建一个不返回被删除值的扩展方法TryRemove
您可以编写扩展方法,例如:
public static bool TryRemove<TKey, TValue>(this ConcurrentDictionary<TKey, TValue> dictionary, TKey key)
{
TValue dummy;
return dictionary.TryRemove(key, out dummy);
}