C#LINQ查询一个Dictionary

时间:2016-06-08 12:57:39

标签: c# linq dictionary

我有一个C#字典:

Dictionary<int, ItemsClass> Items

ItemsClass有一个名为&#39; Number&#39;

的成员

我想编写一个LINQ查询,该查询返回具有&#39; Number&#39;的ItemsClass的Dictionary键号。匹配某个值,例如X

我该怎么做?

1 个答案:

答案 0 :(得分:2)

获取您将使用的所有匹配项目:

Items.Where(p => p.Value.Number == x).Select(p => p.Key);

要获得唯一的密钥,您总是希望它找到一个,只有一个:

Items.Where(p => p.Value.Number == x).Select(p => p.Key).Single();

要获得第一个匹配的项目,如果有多个项目:

Items.Where(p => p.Value.Number == x).Select(p => p.Key).First();