如何在C#中为嵌套泛型创建lambda表达式?

时间:2010-02-17 22:31:24

标签: c# generics lambda

我的数据结构定义为:
    Dictionary<Guid, List<string>> _map = new Dictionary<Guid, List<string>>();

我正在尝试创建一个给出字符串的lambda表达式,返回与任何List<string>相关联的IEnumerable Guids 包含该字符串。

这是合理的/可能的,还是应该使用更合适的数据结构?

提前致谢!

1 个答案:

答案 0 :(得分:3)

尝试以下

Func<string,IEnumerable<Guid>> lambda = filter => (
   _map
      .Where(x => x.Value.Contains(filter))
      .Select(x => x.Key));

用法

var keys1 = filter("foo");
var keys2 = filter("bar");