c# 利用ContainsKey方法判断Dictionary中是否包含某个键

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

ContainsKey的定义

命名空间:

System.Collections.Generic

程序集:

System.Collections.dll

原型

public bool ContainsKey (TKey key);

确定是否 Dictionary<TKey,TValue> 包含指定键。

参数

key TKey

要在 Dictionary<TKey,TValue> 中定位的键。

返回

Boolean

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

示例代码

代码

csharp 复制代码
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.ContainsKey("key1"))
            {
                Console.WriteLine("key1已经存在");
            }
            else
            {
                Console.WriteLine("key1不存在");
            }
			

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

            Console.ReadKey();
        }
    }
}

运行结果

key1已经存在

haha不存在

参考

文档 https://learn.microsoft.com/zh-cn/dotnet/csharp/

源码 https://referencesource.microsoft.com/

平台 https://www.csdn.net

论坛 https://stackoverflow.co/

总结

利用函数ContainsKey,可以查询Dictionary 中某个键是否已经存在。

如果函数返回true,表明字典中已经存在某个键;

如果函数返回false,表明字典中不存在某个键。


作者:鸟哥

希望我的文章对您有所帮助,如有问题请在下方留言。

限于本人水平,文中内容难免有错,如有错误望不吝指出。

如有csharp .net objectarx autocad 计算几何 等方面的问题,我们可以一起交流。

最后感谢所有帮助过我的老师和朋友。

相关推荐
hsjiasb3 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
丰锋ff4 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘4 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路5 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding5 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743875 小时前
从零调用 Claude 教程
开发语言·python·node.js
起床学FPGA6 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
x_x-F7 小时前
网络数据从网卡到用户态:一场基于内存所有权转移的接力赛
开发语言·网络·php
名字还没想好☜7 小时前
Java 线上内存泄漏排查实战:jmap 导堆、MAT 找 GC Roots 与四类常见泄漏
java·开发语言·jvm·内存泄漏
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 的多继承与虚继承
开发语言·c++·面试