问题标签 [linq-to-objects]

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 投票
5 回答
37637 浏览

c# - “嵌套 foreach”与“lambda/linq 查询”性能(LINQ-to-Objects)

从性能的角度来看,您应该使用“嵌套 foreach”还是“lambda/linq 查询”?

0 投票
3 回答
4291 浏览

linq-to-sql - Linq to SQL 和 Linq to Objects 查询是否相同?

如果我们抽象出 DataContext,那么 L2S 和 L2O 查询是否相同?

我已经有一个可以证明这一点的工作原型,但它非常简单,想知道它是否能支持更高级的查询。

有人知道吗?

0 投票
2 回答
283 浏览

c# - 如何在 C#/LINQ 中获取以下数据结构的不同项?

我有以下对象:

现在,我有一个 IEnumerable <Agency>,其中包含多个机构,这些机构包含多个业务单元,而这些业务单元包含多个客户。

它可能看起来像:

Agency1
++BusinessUnit1 - $20
++++Client1 - $10
++++Client2 - $10

Agency2
++BusinessUnit2 - $20
++++Client1 - $20

Agency3
++BusinessUnit1 - $10
++++Client5 - $5
++++Client6 - $5
++BusinessUnit2 - $25
++++Client1 - $25

现在,我要做的是创建一个业务单位和客户列表,但对于所有机构,没有重复。

因此,我希望将该机构列表变为:

所有机构
++BusinessUnit1 - $30
++++Client1 - $10
++++Client2 - $10
++++Client5 - $5
++++Client6 - $5

++BusinessUnit2 - $45
++++Client1 - $20
++++Client1 - $25

我只是有一个唯一业务单位列表(在该特定业务单位的所有实例中具有正确的 AmountSpent 总数),并在其下列出唯一客户,在该业务单位下该特定客户的每个实例具有正确的 AmountSpent 总数.

使用 LINQ 是否可以查询我的 IEnumerable <Agency> Agencies 列表以返回具有正确总和的 BusinessUnit/Client 组合的不同列表?

0 投票
1 回答
837 浏览

c# - 如何在此 LINQ 查询中添加额外的项目?

我有以下对象。一个 IEnumerable <Agency> Agencies,然后包含 BusinessUnits 和 BusinessUnits 包含客户端:

我一直在使用此查询将我的 BusinessUnits 合并到各机构下,这样我就可以显示“所有机构:”我的数据来自此:

对此:

我一直在使用以下 LINQ 查询来执行此操作:

我的问题是:如何在返回的对象中还包含 BusinessUnit 和 Client 的“名称”字段。截至目前,我生成的 BusinessUnits 仅包含他们从分组键中获得的 ID。

我还需要能够在我的查询中从 BusinessUnit 返回“名称”,而不仅仅是它的 ID。我不确定如何将 LINQ 与 Groupings 结合使用。

0 投票
2 回答
211 浏览

c# - 如何使用 LINQ 将这些数据组织到我想要的对象中?

我有一个以下类,我正在尝试使用我查询的一堆数据创建一个列表:

其中“AuditRule”是:

现在,经过相当复杂的查询,我已经能够将我的数据放入一个匿名对象中,如下所示:

我有数千条这种格式的记录,我正在尝试构建一个 IEnumerable <Agency>,它本身将包含每个机构的规则列表。

因此,以以下数据为例:

所以,从这些数据中,我首先尝试构建一个代理列表(顶部的类),对于这个例子来说,这显然是“CCR”和“YRX”。然后,对于每个机构,我希望在其 IEnumerable > 中为其每个规则都有一个条目,<AuditRule并且有记录。

因此,代理商“CCR”将有 2 个规则条目,“呼叫”和“时间”。“Call”AuditRule 条目的 AvgDaysWorked 为 4,因为我们正在平均机构“CCR”下的“Call”条目,即工作 3 天和 5 天。Time AuditRule 条目的 AvgDaysWorked 为 2,因为只有一个条目。

有一些 LINQ 忍者技能的人可以帮我将这些数据整理到每个机构的机构和规则列表中(以及为该规则/机构组合工作的平均天数)吗?

这对我来说已经足够复杂了,甚至能够将那个匿名对象放在一起,而且我真的很难编写这个查询来创建这个代理/审计规则列表。

这是我会使用 SelectMany() 或类似的东西的情况吗?我有点迷失在这里。

0 投票
4 回答
52655 浏览

c# - 等效于链式 LINQ 扩展方法调用中的“let”关键字的代码

使用 C# 编译器的查询理解功能,您可以编写如下代码:

在上面的查询表达式中,let关键字允许将值转发给 where 和 orderby 操作,而无需重复调用animalName.Length.

什么是等效的 LINQ 扩展方法调用集来实现“let”关键字在此处的作用?

0 投票
5 回答
2149 浏览

java - Quaere - 有人在用吗?(LINQ to Objects for Java)

我最初是一个 .NET 人,最近在 Java 中工作,发现我真的很想念 LINQ to Objects,专门用于对集合执行过滤。

Stack Overflow 上的一些人回答了“LINQ for Java?” 一个词的问题:

夸尔

然而,在网站上它清楚地表明“Pre-Beta”,并且一年多来没有提交他们的代码,所以我猜这个项目几乎已经死了。

是否有人实际使用它,和/或有任何经验?

第二个最常见的答案似乎是“使用 Google Collections”。这是最合适的Java方式吗?

干杯

马蒂

0 投票
2 回答
8818 浏览

.net - 将 LINQ 与实现非泛型 ICollection 的类一起使用

我想对一个MatchCollection对象运行 LINQ 查询,但发现这是不可能的,因为它没有实现ICollection<T>,只是ICollection

在代码简洁性以及性能和内存使用方面,将 LINQ 与非泛型集合一起使用的最佳选择是什么?

(如果有兴趣,这里是非 LINQuified 代码:)

0 投票
3 回答
1260 浏览

c# - LINQ - 从嵌套集合中选择正确的值

考虑以下类层次结构:

我想使用 Linq2Objects 做的是获得一个 KeyValuePair,其中对于 allBBar 集合中的每个 Bar 我们选择具有最大值属性的 Foo 。这可以在单个 LINQ 语句中轻松完成吗?

0 投票
3 回答
566 浏览

c# - 为什么我的 LINQ to Objects 查询不返回任何结果?

我正在使用以下查询(主要来自我在此处收到的帮助):

这将返回一个 AuditAgency 对象列表,并且每个 AuditAgency 都包含一个 AuditAgencyRules 列表。

现在,作为我在此查询中的最后一步,以及我遇到问题的部分......是,您可以看到 IEnumerable 规则作为参数传递给此方法。

我想做的是在我的第二个查询中,它为每个机构创建一个规则列表,我想对我的本地“规则”对象进行左外连接。我传入的每个规则对象都有一个 rule.ID。我希望每个机构只包含传入的规则,如果没有它们的数据,那么只需将其内容保留为空。

现在,我的查询包含从数据库返回的所有规则及其数据。但是,我需要它只包含传递给方法的规则,无论它是否与从数据库返回的规则匹配。所以换句话说,我需要用我现在在那里的规则对我的本地“规则”对象进行左外连接。

你可以看到我在上面的代码中添加了注释来解释我在哪里以及我想要做什么。

因此,如果“规则”仅包含 3 个设置了 ID 的规则,则此查询将只返回每个代理机构的这 3 个规则,而不管这些规则是否有数据(其数据将为空)。而不是返回每个机构的所有规则,这就是它现在所做的。

如何在我的 LINQ to SQL 查询中为“本地”对象编写这个左外连接?


这是我在上面的第二个查询之后对我的“规则”对象和我的 AuditAgencies 中的规则进行左外连接的尝试:

没有骰子。现在,我得到的不是所有规则,而是 ~no~ 规则。当我想要的只是获取我传递给这个方法的规则时。

有人可以指出我正确的方向吗?