【发布时间】:2018-04-27 21:57:00
【问题描述】:
我有一本字典 (Dictionary),我想从 (value) 中获取键值:
假设 dic 包含:
"som": 12.2345
"roy": 2.677
"toy": 1.67445666777
我想通过搜索大约 2.677 得到 roy 密钥
我试过了:
var keys = from entry in dic
where entry.Value == 2.677
select entry.Key;
还有:
var myKey =dic.FirstOrDefault(x => x.Value.Contains(2.677)).Key;
在每种情况下,我都会遇到相同的错误: 错误:“double”不包含“Value”的定义,并且找不到接受“double”类型的第一个参数的扩展方法“Value”(您是否缺少 using 指令或程序集引用?)
任何帮助将不胜感激
【问题讨论】:
-
给我们看定义
dic的代码,我怀疑那里有问题。 -
向我们展示你在哪里实例化字典的代码。第二个应该可以工作,只是省略了
.Contains部分。但是知道@vnbrs 的答案对您没有帮助,并且从错误来看,我几乎可以肯定dic不是Dictionary<string, double>而是IEnumerable<double>。 -
我有一个列表和字典,所以我的错误是我使用了列表的名称而不是字典,所以它现在可以工作了 :)))))))
标签: c# dictionary contains