问题标签 [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.

0 投票
3 回答
11662 浏览

c# - 查找与 IGrouping

我一直难以阐明和之间的区别ILookup<TKey, TVal>IGrouping<TKey, TVal>并且很好奇我现在是否理解正确。LINQ 通过生成IGrouping项目序列,同时还给了我一个ToLookup扩展方法,使问题更加复杂。所以在我仔细观察之前感觉它们是一样的。

这相当于:

看起来很像:

我在以下类比中是否正确?

  1. AnIGrouping<TKey, TVal>是单个组(即键控序列),类似于KeyValuePair<TKey, TVal>值实际上是元素序列(而不是单个元素)
  2. AnIEnumerable<IGrouping<TKey, TVal>>是这些序列的序列(类似于迭代IDictionary<TKey, TVal>
  3. AnILookup<TKey, TVal>更像是IDictionary<TKey, TVal>其中的值实际上是一系列元素
0 投票
1 回答
2903 浏览

linq - LINQ 从 IGrouping 转换为 Lookup

我有两个 ILookup 类型的变量。我想使用 Union 或 Concat 组合它们的值并将结果分配给相同类型的第三个变量。Union 和 Concat 都返回 IGrouping。将 IGrouping 转换为 ILookup 一定很简单,但我就是做不到!!!:-( IGrouping 只公开了密钥,所以我在查找的第二个参数上苦苦挣扎......任何帮助都将非常非常感激。

0 投票
2 回答
3419 浏览

.net - 有没有办法展平.Net ILookup进入列表?

有没有一种快速的方法可以从扩展中创建的List<TElement>扁平化ILookup<TKey, TElement>IEnumerable<TElement>


更新了示例

0 投票
2 回答
1314 浏览

linq - Linq - 将一个 ILookup 转换为另一个 ILookup

这应该很简单,但我想不出一个好的方法来做到这一点。如何将一个 ILookup 转换为另一个 ILookup?例如,您将如何复制/克隆一个 ILookup,生成另一个具有相同键和相同组的 ILookup?

这是我的蹩脚尝试:

任何人都可以改善这一点吗?

——布赖恩

0 投票
2 回答
1442 浏览

linq - 创建 ILookups

我有一个由一些复杂的表达式生成的 ILookup。假设这是按姓氏查找人。(在我们简单的世界模型中,姓氏在家庭中是唯一的)

现在我有两个对如何构建感兴趣的查询。

首先,我将如何按姓氏过滤?

但在这里,germanFamilies是一个IEnumerable<IGrouping<string, Person>>;如果我调用ToLookup()它,我最好打赌会得到一个IGrouping<string, IGrouping<string, Person>>. 如果我尝试变得聪明并SelectMany先打电话,我最终会让电脑做很多不必要的工作。您将如何轻松将此枚举转换为查找?

其次,我只想查找成年人。

这里我面临两个问题:该Grouping类型不存在(除了作为 的内部内部类Lookup),即使它存在,我们也会遇到上面讨论的问题。

那么,除了完全实现 ILookup 和 IGrouping 接口,或者让计算机做大量的工作(重新组合已经分组的内容)之外,有没有办法改变现有的 ILookup 以生成我错过的新 ILookup?

0 投票
1 回答
1977 浏览

linq-to-objects - 根据值过滤 linq 查找

我想根据其值过滤 linq Lookup:

查找:

到目前为止,这是我所拥有的不起作用的东西:

只是为了澄清:我想获取所有具有包含在上述城市索引列表中的城市索引的文章。

0 投票
8 回答
9952 浏览

c# - 空 ILookup

我有一个返回ILookup. 在某些情况下,我想返回一个空ILookup的作为提前退出。构建空的最佳方法是ILookup什么?

0 投票
3 回答
2948 浏览

linq - Linq:创建空的 IGrouping

我想使用 Linq 创建一个函数来总结传入的值序列。该函数应如下所示:

问题是生成的 IDictionary 应该有一个 default(TKey) 条目,即使传入的序列不包含具有该键的值。这可以以纯粹的功能方式完成吗?(不使用可变数据结构。)

我能想到的唯一方法是在查找之前调用 .Union ,然后将其输入字典。但这需要我创建一个空的 IGrouping,如果没有明确的类,这似乎是不可能的。有没有一种优雅的方式来做到这一点?

编辑:我们可以假设 TKey 是一个值类型。

0 投票
2 回答
5031 浏览

c# - .GroupBy() 是否保证其分组的顺序?

假设我有一个(有序的)动物序列:

我按第一个字母分组:

结果序列中 s的元素是否IGrouping与输入序列的顺序相同?

0 投票
2 回答
105 浏览

c# - 欢迎 C# 查找优化建议

我有下面的代码,它可以满足我的需要,但我有一个想法,它可以做得更快。请让我知道是否可以以任何方式改进此代码...

主要问题是我需要多次查询“数据”。我只需要确保没有我可以使用的快捷方式。