c# Dictionary<TKey,TValue>.TryAdd
原文链接:https://learn.microsoft.com/zh-cn/dotnet/fundamentals/code-analysis/quality-rules/ca1864
Dictionary<TKey,TValue>.ContainsKey(TKey) 和 Dictionary<TKey,TValue>.Add 都执行查找操作,这是冗余设置。
如果字典中已存在键,Dictionary<TKey,TValue>.Add 也会引发异常。 调用 Dictionary<TKey,TValue>.TryAdd 更高效,这会返回一个布尔值,指示是否已添加该值。 如果键已存在,则 TryAdd
不会覆盖该键的值。
TryAdd方法是Dictionary类的一个方法,它是IDictionary接口的一个实现。
TryAdd方法尝试将键值对添加到字典中。如果字典中已经存在指定的键,则该键值对不会被添加,并且此方法返回false。如果字典中不存在该键,则添加该键值对,并返回true。
以下是使用TryAdd方法的示例代码:
Dictionary<string, int> dictionary = new Dictionary<string, int>(); // 尝试添加一个新的键值对 if (dictionary.TryAdd("key1", 10)) { Console.WriteLine("添加成功"); } else { Console.WriteLine("添加失败,键已存在"); } // 再次尝试添加相同的键 if (dictionary.TryAdd("key1", 20)) { Console.WriteLine("添加成功"); } else { Console.WriteLine("添加失败,键已存在"); } // 尝试添加另一个新的键值对 if (dictionary.TryAdd("key2", 30)) { Console.WriteLine("添加成功"); } else { Console.WriteLine("添加失败,键已存在"); }