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) 尝试删除
我们想从 NameValueCollection 中删除几个键,但我们不确定它们是否确实存在于其中。
如果我尝试删除不在 NameValueCollection 中的 key1,则没有 exception/side-effect:
nameValues.Remove("key1");
但是这样做的理想方法是什么,我们是否应该在删除之前检查密钥是否存在?
答案是否定的。在尝试将其删除之前,您无需检查密钥。 如果密钥不存在,则不会抛出异常。
我认为你不应该这样做,因为它会导致你 O(n) * 2 次操作。
- O(n) 检查
- O(n) 尝试删除