问题标签 [ienumerable]

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 投票
2 回答
12487 浏览

.net - IEnumerable 上的动态 LINQ?

假设我需要使用动态查询过滤通用列表(List<string> l; var x = l.Where(*dynamic query*)

我将如何使用 LINQ 执行此操作?(目前在数据视图上使用行过滤器)

我看过scott g 的帖子:但它似乎不适用于使用的对象IEnumerable(包括通用列表)

任何人都可以提供任何想法吗?

0 投票
5 回答
37040 浏览

c# - ReadOnlyCollection 或 IEnumerable 用于公开成员集合?

如果调用代码仅迭代集合,是否有任何理由将内部集合公开为 ReadOnlyCollection 而不是 IEnumerable?

正如我所看到的,IEnumerable 是 ReadOnlyCollection 接口的子集,它不允许用户修改集合。因此,如果 IEnumberable 接口足够了,那么它就是可以使用的接口。这是一种正确的推理方式还是我错过了什么?

谢谢/埃里克

0 投票
4 回答
9976 浏览

arrays - 转换 IEnumerable 的最佳方法到一个 T[]

从通用IEnumerable<T>实现转换为 T 数组的最佳方法是什么?我目前的解决方案如下所示:

通过 a 转移List<T>似乎是不必要的,但我一直无法找到更好的方法来做到这一点。

注意:我在这里使用 C# 2.0。

0 投票
2 回答
730 浏览

linq - 如何将由 IQueryable 对象创建的 Expression 的执行转移到 IEnumerable?

在我的代码中,我想让我的存储库 IQueryable。这样,选择的标准将是一个 linq 表达式树。

现在,如果我想在理论上模拟我的存储库,这很容易:只需实现我的存储库的接口(这也是一个 IQueryable 对象)。

我的模拟存储库实现将只是一个内存集合,但我的问题是:你知道一种简单的方法来实现我的模拟的 IQueryable 接口,将查询传输到我的内存集合(IEnumerable)吗?

感谢您的答复,

一些精度

我的存储库的客户端对象将以这种方式使用我的存储库:

var result = from entry in MyRepository where entry.Product == "SomeProduct" 选择条目;

ToList 或 AsEnumerable 的作用是执行查询并将结果作为 List 或 IEnumerable 返回。但是我必须在我的存储库上实现 IQueryable 接口,并使用 IQueryProvider 将调用中的表达式转换为 IEnumerable 对象。

解决方案

该解决方案的实现是将调用 IQueryable 委托给我使用 AsQueryable 的内存集合。

0 投票
3 回答
33397 浏览

linq - 将数据集转换为 IQueryable或 IEnumerable

由于还没有 Linq to DB2(来吧 IBM!),并且我想在我的代码中处理 IQueryables 或 IEnumerables,我将如何将 DataTable 转换为 IQueryable?还是一个 IEnumerable?

我有一个接口和一个与数据表中的列匹配的类...

DataTable.Rows 不支持 .AsQueryable,因为 MSFT 取消了它,所以我不知道该怎么做。

0 投票
3 回答
2699 浏览

c# - 在 C# 中链接 IEnumerables?

有没有一种简单的内置方法来获取一个有序的IEnumerables 列表并返回一个IEnumerable,它按顺序产生第一个中的所有元素,然后是第二个,依此类推。

我当然可以自己写,但我想知道在我做之前是否已经有办法完成这个看似有用的任务。

0 投票
3 回答
1256 浏览

c# - 在 C# 中创建用于填充下拉列表、网格等的类

请记住,我是 C# 和 OOP 的新手,所以如果这对某些人来说似乎是一个简单的问题,我提前道歉。我将回顾我的代码并寻找方法来客观化重复代码并为其创建一个类,以便我可以简单地重用该类。话虽如此,我还不想学习 NHibernate 或任何其他 ORM。我什至不想学习 LINQ。我想破解这个来学习。

基本上,我使用相同的代码来访问我的数据库并用我得到的值填充一个下拉列表。一个例子:

我在整个程序中,在不同的页面上一遍又一遍地使用同样的代码。大多数情况下,我填充一个下拉列表或组合框,但有时我会填充一个网格视图,只是稍微改变查询。

我的问题是如何创建一个允许我调用存储过程的类,而不是像我的示例那样手动使用查询并填充我的不同控件?是否可以只使用一种方法?我只需要从选择开始。我一直在阅读 IEnumerable ,这似乎是合适的接口,但我该如何使用它呢?

编辑添加:

我将 Rorschach 的答案标记为 THE answer,因为他/她解决了我的 IEnumerable 问题。我也理解需要适当的 DAL 和 BLL 层。我试图达到的就是那个。我可以使用数据集和表适配器构建 DAL,最终得到一个强类型数据集。但是,我觉得有点脱离了代码。从我上面给出的代码开始,我一直在寻找一种直接构建 DAL 的方法。也许我没有正确地措辞我的问题或我所追求的。

无论如何,罗夏最接近回答我的实际问题。谢谢。

0 投票
2 回答
6114 浏览

sql - Linq to SQL 中的动态表名

大家好,我有一个可怕的数据库,我必须使用它,linq to sql 是我从中检索数据的选项。我试图通过根据用户选择输入不同的表名来重用函数的任何人,据我所知,没有办法在 DataContext 查询中修改 TEntity 或 Table<>。

这是我当前的代码。

我想用 Enumerable 记录填充我的 ViewData。

0 投票
2 回答
2312 浏览

c# - 如何使用 PagedList 使我产生的 IEnumerable 工作

我在我的项目中使用了Troy Goode 的分页列表
通常你只需给它一个 IEnumerable、一个 startindex 和一个项目计数,它就可以工作了。
但是,现在我正在尝试为它提供一个我生成的 IEnumerable,如下所示:

--EDIT-- pagedList 有效,但请求我的所有 Color 对象的收益,而不仅仅是分页的对象。这当然会破坏 PagedList 的整个使用,并可能导致大量枚举。

--EDIT--
我认为我需要的是一种实现 Count() 的方法,这样我就可以让它从 ids.Distinct(int) 返回计数,而不是通过 ColorService.GetColor() 创建所有对象,然后计算该列表.

0 投票
16 回答
260037 浏览

c# - 任何人都可以向我解释 IEnumerable 和 IEnumerator 吗?

IEnumerable任何人都可以向我解释IEnumerator吗?

例如,何时在 foreach 上使用它?IEnumerable和有什么区别IEnumerator?为什么我们需要使用它?