如何规避未使用的输出参数值?

Lar*_*rry 0 c# parameters null out void

我正在使用ConcurrentDictionary,我需要使用删除元素TryRemove.

实现TryRemove需要一个out参数来返回将被删除的对象.

Body dummy;
if (!bulletBodies.TryRemove(bullet, out dummy))
{

}
...
Run Code Online (Sandbox Code Playgroud)

每当我删除字典中的条目时,我都不想在虚拟变量上使用额外的行:这就是为什么我试图绕过out返回参数不成功地键入下面的恐怖.我也google了一下,但没有成功.

bulletBodies.TryRemove(bullet, null);
bulletBodies.TryRemove(bullet, out null);
bulletBodies.TryRemove(bullet, void);
...
Run Code Online (Sandbox Code Playgroud)

有没有办法或聪明的提示来管理未使用的输出参数,所以没有必要在任何地方声明虚拟变量?

ale*_*lex 7

您可以创建一个不返回已删除值的扩展方法TryRemove.