从查找中获取密钥

mag*_*tic 39 .net c# linq lookup linq-to-objects

如何从通过.ToLookup()方法创建的Lookup <>获取密钥集合?

我有一个查找,它将int值映射到自定义类的实例组.我需要查找包含的所有int键的集合.有什么方法可以做到这一点,还是我必须单独收集和保存它们?

Rup*_*Rup 49

您可以遍历一组关键项组并读取关键字,例如

var keys = myLookup.Select(g => g.Key).ToList();
Run Code Online (Sandbox Code Playgroud)

  • 任何理论为什么`Lookup`不包括`Keys`方法不像`Dictionary`? (6认同)
  • 也许与字典不同的是,查找不仅仅强制执行一组固定的键。您可以查询任何您喜欢的键并获得有效的响应。它可能返回一个空集,但它仍然是一个有效的响应。 (2认同)

Kei*_*thS 8

一个快速的方法:

var myKeys = myLookup.Select(l=>l.Key);
Run Code Online (Sandbox Code Playgroud)