28
如何从查找中获取密钥集合<>我通过.ToLookup()方法创建的集合?从查找中获取密钥
我有一个查找将int值映射到自定义类的实例组。我需要查找包含的所有int键的集合。任何方式来做到这一点,还是我必须收集和分开保存它们?
如何从查找中获取密钥集合<>我通过.ToLookup()方法创建的集合?从查找中获取密钥
我有一个查找将int值映射到自定义类的实例组。我需要查找包含的所有int键的集合。任何方式来做到这一点,还是我必须收集和分开保存它们?
您可以循环访问该组关键项组并读取关键字,例如,
var keys = myLookup.Select(g => g.Key).ToList();
一个快速的方法:
var myKeys = myLookup.Select(l=>l.Key);
任何理论,为什么'Lookup'不包括''不同Dictionary' Keys'方法? – NetMage 2017-09-14 22:04:45
我不知道 - 最好的猜测也许是因为查找是由LINQ提供的,你可以使用LINQ来提取这样的密钥?以下是.NET参考源中的当前实现:[查找](https://referencesource.microsoft.com/#System.Core/System/Linq/Enumerable.cs,cb695d4a973ef608),[Dictionary](https:// referencesource.microsoft.com/#mscorlib/system/collections/generic/dictionary.cs,d3599058f8d79be0)。他们的内部存储看起来大致相同。 Dictionary有它自己的KeyCollection类,它很容易适应Lookup,但它不仅仅是兼容。 – Rup 2017-09-15 19:11:14