问题标签 [ilookup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 查找与 IGrouping
我一直难以阐明和之间的区别ILookup<TKey, TVal>
,IGrouping<TKey, TVal>
并且很好奇我现在是否理解正确。LINQ 通过生成IGrouping
项目序列,同时还给了我一个ToLookup
扩展方法,使问题更加复杂。所以在我仔细观察之前感觉它们是一样的。
这相当于:
看起来很像:
我在以下类比中是否正确?
- An
IGrouping<TKey, TVal>
是单个组(即键控序列),类似于KeyValuePair<TKey, TVal>
值实际上是元素序列(而不是单个元素) - An
IEnumerable<IGrouping<TKey, TVal>>
是这些序列的序列(类似于迭代IDictionary<TKey, TVal>
- An
ILookup<TKey, TVal>
更像是IDictionary<TKey, TVal>
其中的值实际上是一系列元素
linq - LINQ 从 IGrouping 转换为 Lookup
我有两个 ILookup 类型的变量。我想使用 Union 或 Concat 组合它们的值并将结果分配给相同类型的第三个变量。Union 和 Concat 都返回 IGrouping。将 IGrouping 转换为 ILookup 一定很简单,但我就是做不到!!!:-( IGrouping 只公开了密钥,所以我在查找的第二个参数上苦苦挣扎......任何帮助都将非常非常感激。
.net - 有没有办法展平.Net ILookup进入列表?
有没有一种快速的方法可以从扩展中创建的List<TElement>
扁平化ILookup<TKey, TElement>
?IEnumerable<TElement>
更新了示例
linq - Linq - 将一个 ILookup 转换为另一个 ILookup
这应该很简单,但我想不出一个好的方法来做到这一点。如何将一个 ILookup 转换为另一个 ILookup?例如,您将如何复制/克隆一个 ILookup,生成另一个具有相同键和相同组的 ILookup?
这是我的蹩脚尝试:
任何人都可以改善这一点吗?
——布赖恩
linq - 创建 ILookups
我有一个由一些复杂的表达式生成的 ILookup。假设这是按姓氏查找人。(在我们简单的世界模型中,姓氏在家庭中是唯一的)
现在我有两个对如何构建感兴趣的查询。
首先,我将如何按姓氏过滤?
但在这里,germanFamilies
是一个IEnumerable<IGrouping<string, Person>>
;如果我调用ToLookup()
它,我最好打赌会得到一个IGrouping<string, IGrouping<string, Person>>
. 如果我尝试变得聪明并SelectMany
先打电话,我最终会让电脑做很多不必要的工作。您将如何轻松将此枚举转换为查找?
其次,我只想查找成年人。
这里我面临两个问题:该Grouping
类型不存在(除了作为 的内部内部类Lookup
),即使它存在,我们也会遇到上面讨论的问题。
那么,除了完全实现 ILookup 和 IGrouping 接口,或者让计算机做大量的工作(重新组合已经分组的内容)之外,有没有办法改变现有的 ILookup 以生成我错过的新 ILookup?
linq-to-objects - 根据值过滤 linq 查找
我想根据其值过滤 linq Lookup:
查找:
到目前为止,这是我所拥有的不起作用的东西:
只是为了澄清:我想获取所有具有包含在上述城市索引列表中的城市索引的文章。
c# - 空 ILookup
我有一个返回ILookup
. 在某些情况下,我想返回一个空ILookup
的作为提前退出。构建空的最佳方法是ILookup
什么?
linq - Linq:创建空的 IGrouping
我想使用 Linq 创建一个函数来总结传入的值序列。该函数应如下所示:
问题是生成的 IDictionary 应该有一个 default(TKey) 条目,即使传入的序列不包含具有该键的值。这可以以纯粹的功能方式完成吗?(不使用可变数据结构。)
我能想到的唯一方法是在查找之前调用 .Union ,然后将其输入字典。但这需要我创建一个空的 IGrouping,如果没有明确的类,这似乎是不可能的。有没有一种优雅的方式来做到这一点?
编辑:我们可以假设 TKey 是一个值类型。
c# - .GroupBy() 是否保证其分组的顺序?
假设我有一个(有序的)动物序列:
我按第一个字母分组:
结果序列中 s的元素是否IGrouping
与输入序列的顺序相同?
c# - 欢迎 C# 查找优化建议
我有下面的代码,它可以满足我的需要,但我有一个想法,它可以做得更快。请让我知道是否可以以任何方式改进此代码...
主要问题是我需要多次查询“数据”。我只需要确保没有我可以使用的快捷方式。