问题标签 [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 投票
1 回答
14112 浏览

linq - LINQ to Objects:可以使用多个 LIKE 条件(OR 或 AND)进行查询?

我们有一个表单,允许用户通过在文本框中输入来过滤列表。我们需要根据两个字段过滤列表。FundName 和 CompanyName。当表单加载时,我将初始 LINQ to SQL 结果放入一个列表中,这样对于每个后续操作(过滤器),数据库都不会被命中。这显着加快了处理速度(从大约 400 毫秒到每个过滤器操作不到 6 毫秒,例如键入一个字符)并减少了 DB 喋喋不休。

问题是当我们决定对两个字段进行过滤条件搜索时,LINQ to Object 查询不起作用。我可以有一个具有多个条件的查询,而不是多个 LIKE(或 .Contains 或 .Endswith 等评估为 SQL LIKE 语句的方法)。该查询确实对 LINQtoSQL 起作用,但对对象不起作用。这是一些示例代码:

例外是“对象引用未设置为对象的实例”。- 堆栈跟踪是:

任何和所有的帮助和建议将不胜感激。

0 投票
5 回答
23953 浏览

asp.net - 使用 Linq 查询从 DropDownList 中选择 ListItem

我试图使用 Linq 查询在下拉列表控件中查找和设置所选值。

即使文档说 DropDownList.Items 集合实现了 IEnumerable 我在 Where 子句中收到一个错误,即 Option Strict ON 不允许后期绑定!

0 投票
2 回答
16808 浏览

linq - 如何在 Linq 中合并集合的集合

我希望能够融合IEnumerable<IEnumerable<T>>IEnumerable<T>(即将所有单独的集合合并为一个)。Union运算符仅适用于两个集合。任何的想法?

0 投票
4 回答
953 浏览

linq - 数据表查询

我是 LINQ 的新手。我正在尝试查找第二个数据表中不存在的行。

report_list 和 benchmark 两种类型都是:DataTable。使用 OleDbCommand、OleDbDataAdapter 填充这两个数据表。我收到一个错误“指定的演员表无效。” 在 foreach ...循环中。我会很感激你的帮助。

0 投票
2 回答
389 浏览

linq - 是否可以在不同的 LINQ 提供程序之上进行 LINQ 查询?

我目前正在考虑我的数据对象的存储库模式,其中IQueryable<>可以将多个实例注册为数据源,但让它运行似乎并不容易。

使用 LINQ to 实体和 LINQ To Objects 运行简单的 LINQ 查询不起作用。你认为这通常是可能的吗?也许唯一的解决方案是编写一个指定的提供者?

在我的存储库中,我调用.Union<>()了所有 IQueryable 实例,然后最后使用 LINQ 对生成的单个IQueryable. 结果是一个IQueryable被完全忽略了。

0 投票
5 回答
22488 浏览

c# - 优化字符串连接的聚合

更新- 对于那些有幽默感的人,您可以假设 Aggregate 仍然会产生正常结果,无论传递给它的函数是什么,包括在被优化的情况下。

我编写了这个程序来构建一长串从 0 到 19999 的整数,用逗号分隔。

当我运行它时,它说:

超过五秒,太可怕了。当然这是因为每次循环都会复制整个字符串。

但是,如果做出评论中指出的一个非常小的改变呢?

现在当我运行它时,它说:

速度提高 100 倍以上。

问题

MakeAggregateGoFaster 命名空间中有什么?

更新 2: 在这里写下我的答案

0 投票
1 回答
534 浏览

vb.net - 使用 linq 将 IDictionary(Of TK, TV) 过滤到 IDictionary(Of TK, TV)

一些非常基本的东西似乎在逃避我。

我希望得到一个 IDictiorany(Of String, String) 回来,只有具有非空值的元素。我认为这会做到这一点:

但这最终是错误的类型。添加:

也无济于事。有小费吗?

0 投票
1 回答
3209 浏览

c# - LINQ GroupJoin innerKeySelector/outerKeySelector 问题与两个数据表

给定一个 DataSet,我将把 DataTables[1-n] 加入 DataTable[0]。我创建了一个带有签名的方法,如下所示:

笔记:

  • 返回类型是 DataTable,它是生成的左连接。
  • DataSet ds 是用于连接的 DataTables 的集合。
  • JoinKey 是一个具有两个公共属性的对象:Type DataType 和 string Name。此集合包含要在联接中使用的每个字段的类型/名称。

以下是两个片段(片段 1片段 2)片段 1 正常工作。唯一的问题是 GroupJoin 的第二个和第三个参数是硬编码的:

以上是不可取的。相反,我想使用我的“JoinKey”对象来动态设置我想要加入的字段(即 ZipCode 和 StoreID)。我在Snippet 2中尝试过这个。但是,首先,请参阅片段 1。

片段 1(工作,硬编码)

注意:变量“flatRow”存储左连接数据的对象数组;稍后在方法中将其添加到 DataRowCollection(未显示)。

片段 2(不工作;但是没有抛出错误)

这是上面使用的KeySelector函数(请参阅内联注释):

片段 2仅返回来自 DataTable[0] 的数据。DataTable[1-n] 中的所有数据(如果存在)都没有连接到变量“flatRow”中。不过,有趣的是,我确实得到了数组中正确数量的元素。我知道这与 KeySelector 方法有关,但是(显然)我不知道问题是什么。

如果有人需要更多信息,请告诉我。非常感谢您的帮助...

谢谢,
泰勒

0 投票
3 回答
32513 浏览

linq - 如何创建动态 LINQ 连接扩展方法

有一个动态LINQ扩展方法库作为Visual Studio 2008的示例发布。我想用 join 方法扩展它。下面的代码在运行时失败并出现参数未匹配异常。哪里有问题?

0 投票
9 回答
131144 浏览

c# - 使用 LINQ 过滤列表

我有一个从外部应用程序返回的人员列表,我正在本地应用程序中创建一个排除列表,以便我可以选择手动从列表中删除人员。

我有一个我创建的复合键,它对两者都是通用的,我想找到一种使用我的列表从我的列表中删除人员的有效方法

例如

我认为 LINQ 是这样做的理想方式,但是在尝试了连接、扩展方法、使用产量等之后,我仍然遇到了麻烦。

如果这是 SQL,我会使用not in (?,?,?)查询。