You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查C# Dictionary中指定键对应的值是否为特定内容?

解决方案

要检查字典中第一个键对应的值是否为"Pancakes",可以根据需求选择以下两种方法:

方法一:已知第一个键的名称

如果已经确定第一个键是"Fiora",直接通过键名访问对应的值判断即可,建议先检查键是否存在避免异常:

using System;
using System.Collections.Generic;

namespace Demo.Aiman1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> guestsFoods = new Dictionary<string, string>();
            guestsFoods.Add("Fiora", "Pancakes");
            guestsFoods.Add("Darius", "Pancakes");
            guestsFoods.Add("Mordekaiser", "Apple");
            
            // 检查键"Fiora"存在且对应值为"Pancakes"
            if (guestsFoods.ContainsKey("Fiora") && guestsFoods["Fiora"] == "Pancakes")
            {
                Console.WriteLine("First guest's food is Pancakes");
            }
        }
    }
}

方法二:不确定第一个键的名称(动态取第一个键值对)

如果需要动态获取字典的第一个键值对(从.NET 3.5开始,Dictionary会保留插入顺序),可以使用LINQ的First()方法,注意要引入System.Linq命名空间,同时处理字典为空的情况:

using System;
using System.Collections.Generic;
using System.Linq; // 引入LINQ命名空间

namespace Demo.Aiman1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> guestsFoods = new Dictionary<string, string>();
            guestsFoods.Add("Fiora", "Pancakes");
            guestsFoods.Add("Darius", "Pancakes");
            guestsFoods.Add("Mordekaiser", "Apple");
            
            // 先判断字典不为空,再取第一个键值对检查值
            if (guestsFoods.Count > 0 && guestsFoods.First().Value == "Pancakes")
            {
                Console.WriteLine("First guest's food is Pancakes");
            }
        }
    }
}

注意事项

  • Dictionary的插入顺序保留特性从.NET 3.5开始生效,若使用更早版本,遍历顺序不固定,此时"第一个键"的概念不成立。
  • 使用First()时,如果字典为空会抛出InvalidOperationException,所以必须先判断guestsFoods.Count > 0。

内容的提问来源于stack exchange,提问作者Martin Kulev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 16:10:31