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("添加失败,键已存在");
}

  

posted @ 2024-05-08 16:46  yinghualeihenmei  阅读(41)  评论(0编辑  收藏  举报