C# Dictionary 利用 ContainsValue 查询指定值是否已经存在

本文介绍了如何在C#的.NETFramework4.7.2环境下,使用VisualStudioCommunity2022开发环境中,通过Dictionary的ContainsValue方法检查键值对中值是否已存在于Dictionary中。提供了一个简单的代码示例和性能分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • .NET Framework : 4.7.2
  • IDE : Visual Studio Community 2022
  • OS : Windows 10 x64
  • typesetting : Markdown
  • blog : niaoge.blog.csdn.net

简介

本文介绍如何查询Dictionary 中某个值是否已经存在。

ContainsValue

命名空间:
System.Collections.Generic
程序集:
System.Collections.dll
确定 Dictionary<TKey,TValue> 是否包含特定值。

函数原型

public bool ContainsValue (TValue value);

参数

value TValue
要在 Dictionary<TKey,TValue> 中定位的值。 对于引用类型,该值可以为 null。

返回

Boolean
如果 true 包含具有指定值的元素,则为 Dictionary<TKey,TValue>;否则为 false。

注解

此方法使用默认相等比较器 EqualityComparer.Default 确定相等性,即 TValue字典中的值类型。
此方法执行线性搜索;因此,平均执行时间与 Count成正比。 也就是说,此方法是 O (n) 操作,其中 n 为 Count。

代码

using System;
using System.Collections.Generic;

namespace Niaoge
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新建字典
            var d = new Dictionary<string, string>();

            // 向字典中添加内容
            d.Add("key1", "value1");
            d.Add("key2", "value2");
            d.Add("key3", "value3");

            if (d.ContainsValue("value2"))
            {
                Console.WriteLine("value2已经存在");
            }
            else
            {
                Console.WriteLine("value2不存在");
            }
			if (d.ContainsValue("value3"))
            {
                Console.WriteLine("value3已经存在");
            }
            else
            {
                Console.WriteLine("value3不存在");
            }

            if (d.ContainsValue("haha"))
            {
                Console.WriteLine("haha已经存在");
            }
            else
            {
                Console.WriteLine("haha不存在");
            }

            Console.ReadKey();
        }
    }
}

运行结果

value2已经存在
value3已经存在
haha不存在

参考

[文档] https://learn.microsoft.com/zh-cn/dotnet/csharp/
[源码] https://referencesource.microsoft.com/
[平台] www.csdn.net

总结

利用函数ContainsValue,可以查询Dictionary 中某个值是否已经存在。
函数ContainsValue返回true,表明字典中已经存在某个值;
函数ContainsValue返回false,表明字典中不存在某个值。


作者:鸟哥
希望我的文章对您有所帮助,如有问题请在下方留言。
限于本人水平,文中内容难免有错,如有错误望不吝指出。
如有csharp .net objectarx autocad 计算几何 等方面的问题,我们可以一起交流。
最后感谢所有帮助过我的老师和朋友。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸟哥01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值