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

如何从Dictionary<string, atypeModel>按值取键?报错求助

解决方案

错误原因很明确:a.Value 返回的是 atypeModel 类型的对象,直接把它和字符串 "b" 用 == 比较会因类型不匹配报错。你需要访问 atypeModel 实例的 Value 属性来完成比较。

正确代码

var myKey = types.FirstOrDefault(a => a.Value.Value == "b").Key;

额外注意事项

  • 如果没有找到匹配项,FirstOrDefault 会返回 KeyValuePair<string, atypeModel> 的默认值,此时 Key 为空字符串。建议先判断是否找到匹配项再取值:
    var match = types.FirstOrDefault(a => a.Value.Value == "b");
    if (match != default(KeyValuePair<string, atypeModel>))
    {
        var myKey = match.Key;
        // 执行后续逻辑
    }
    else
    {
        // 处理未找到匹配项的情况
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:36:17