C# 字典中ContainsKey和ContainsValue的区别?
containsKey与containsValue有何不同C# 字典中ContainsKey和ContainsValue的区别?,c#,C#,containsKey与containsValue有何不同 public Dictionary<string, string> dictionary = new Dictionary<string, string>(); if(dictionary.ContainsValue("123")) { } if(dictionary.ContainsKey("123")) { } 公共字典=新字典(); if(dictionary.ContainsValue(“123
public Dictionary<string, string> dictionary = new Dictionary<string, string>();
if(dictionary.ContainsValue("123"))
{
}
if(dictionary.ContainsKey("123"))
{
}
公共字典=新字典();
if(dictionary.ContainsValue(“123”))
{
}
if(dictionary.ContainsKey(“123”))
{
}
是从键到值的映射
ContainsKey()
检查您的字典是否包含某个键,它的速度非常快-查找键(并查找与该键相关的数据)是字典的主要优势。您可能需要这样做,以避免访问不存在的密钥(在这种情况下请阅读),避免访问不存在的密钥数据可能是更好的选择
ContainsValue()
迭代所有值并检查它是否在字典中,这是一个缓慢而繁琐的过程,因为它需要转到所有值,直到第一个值匹配为止。不是通过键值而是通过遍历所有值来访问值,这并不是字典的作用
执行ContainsKey()
是可以的,如果您觉得需要执行ContainsValue()
您可能操作了错误类型的数据结构
Doku:
- vs
ContainsKey
检查键中是否存在给定对象(在本例中为string
)。Dictionary使用散列
,因此此操作执行速度非常快(O(1)复杂度)
ContainsValue检查给定对象(在本例中为intint
)是否存在于Value
s中
public Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("123", 321);
if(dictionary.ContainsValue(321)) // return true
{
}
if(dictionary.ContainsKey("123")) //return true
{
}
公共字典=新字典();
词典.添加(“123”,321);
if(dictionary.ContainsValue(321))//返回true
{
}
if(dictionary.ContainsKey(“123”)//返回true
{
}
WellContainsKey
检查字典中是否有具有指定键的条目,然而,ContainsValue
检查字典中是否有具有指定值的条目。名称是否足够明显?@ChetanRanpariya我只是想知道它们之间的区别。我现在还没有完全理解ContainsValue,我知道了,谢谢。哦,好的,谢谢。