C# NameValueCollection:我们是否应该在删除之前检查键是否存在?

C# NameValueCollection: Should we check if key exists before we remove those?

我们想从 NameValueCollection 中删除几个键,但我们不确定它们是否确实存在于其中。

如果我尝试删除不在 NameValueCollection 中的 key1,则没有 exception/side-effect:

nameValues.Remove("key1");

但是这样做的理想方法是什么,我们是否应该在删除之前检查密钥是否存在?

答案是否定的。在尝试将其删除之前,您无需检查密钥。 如果密钥不存在,则不会抛出异常。

我认为你不应该这样做,因为它会导致你 O(n) * 2 次操作。

  • O(n) 检查
  • O(n) 尝试删除