键为元组时如何在字典中搜索?

时间:2019-06-13 14:16:26

标签: c# dictionary

假设我们有一个这样的字典:

Dictionary<Tuple<Foo, Bar>, Baz> dictionary;
  1. 我们如何找到是否有foo作为密钥的一部分?
  2. 我们如何找到foo作为键的一部分的所有值?

我可以使用for循环来实现它,

foreach(var pair in dictionary)
    if (pair.Key.Item1.IsEqual(foo))
    { set flag and break / add pair.Value to the list }

,但我认为必须有一些单行代码。

1 个答案:

答案 0 :(得分:0)

查询 时,请尝试使用 Linq

using System.Linq;

... 

// If we have at least one record?
bool result = dictionary.Any(pair => pair.Key.Item1.IsEqual(foo));

所有此类记录:

var result = dictionary.Where(pair => pair.Key.Item1.IsEqual(foo));