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

c# - LINQ 从 4 个 IEnumerable 列表中选择不同

想象四个列表,都至少有这个 Id 字符串属性,但可能还有其他属性:

我想在 a1 中选择所有 DISTINCT id,结合 a2、a3 和 a4

我认为 LINQ 语法会是理想的,但是如何将这些与单个字符串属性结合到 IEnumerable 结果中,例如具有 A 类定义的东西。

0 投票
6 回答
1895 浏览

c# - C#:SkipLast 实现

我需要一种方法来给我除了序列中的最后一项之外的所有内容。这是我目前的实现:

我需要它对除最后一个之外的所有项目做一些事情。就我而言,我有一系列具有各种属性的对象。然后我按日期订购它们,然后我需要对所有它们进行调整,除了最近的项目(这将是订购后的最后一个项目)。

问题是,我还不太喜欢这些枚举器和其他东西,也没有人在这里问:p 我想知道这是否是一个好的实现,或者我是否在某个地方犯了一个小错误或大错误。或者,如果这个问题是一个奇怪的问题,等等。

我想更通用的实现可能是一种AllExceptMaxBy方法。因为这就是它的样子。MoreLinq有一个and方法,我的方法需要做同样的事情,但返回除最大值或最小值之外的每个项目。MaxByMinBy

0 投票
9 回答
5961 浏览

c# - IEnumerable 的 String.Join(string, string[]) 的模拟

String包含非常有用的方法 - String.Join(string, string[]).

它从一个数组创建一个字符串,用给定的符号分隔数组的每个元素。但一般 - 它不会在最后一个元素之后添加分隔符!我将它用于 ASP.NET 编码,以便用 " <br />" 或Environment.NewLine.

所以我想在asp:Table. 我可以使用什么方法IEnumerable<TableRow>来实现相同的功能?

0 投票
8 回答
679 浏览

c# - 将 T 类型的数组转换为 I 类型的数组,其中 T 在 C# 中实现 I

我正在尝试用 C# 完成一些我在 Java 中很容易做到的事情。但是遇到了一些麻烦。我有一个未定义数量的 T 类型对象数组。A 实现了一个接口 I。最后我需要一个 I 数组,它是所有数组中所有值的总和。假设没有数组将包含相同的值。

此 Java 代码有效。

但是,此 C# 代码不会:

所以很明显我需要以某种方式将数组T[]添加IEnumerable<I>到列表中,但我不确定最好的方法是什么?有什么建议么?

编辑:在 VS 2008 中开发,但需要为 .NET 2.0 编译。

0 投票
6 回答
1387 浏览

c# - 如何克服创建列表的开销来自 IEnumerable?

我正在使用一些 LINQ 选择的东西来创建一些集合,这些集合返回IEnumerable<T>.

在我的情况下,我需要一个List<T>,所以我将结果传递给List<T>' 的构造函数来创建一个。

我想知道这样做的开销。我收藏的物品通常以数百万计,所以我需要考虑这一点。

我假设,如果IEnumerable<T>contains ValueTypes,这是最差的表现。

我对吗?Ref类型呢?不管怎样,还有List<T>.Add一百万次通话的成本,对吧?

有什么办法可以解决这个问题?就像我可以使用扩展方法“重载”LINQ Select 等方法吗?

0 投票
4 回答
612 浏览

c# - 使用 IEnumerable 时如何防止内存溢出和Linq-To-Sql?

这个问题与我以前的问题有关

这是我目前的代码

我遇到了内存溢出,因为 IEnumerable 太大了。我该如何预防?

0 投票
5 回答
5708 浏览

c# - 树中嵌套产量的表现

我有一个树状结构。此结构中的每个元素都应该能够返回它作为根的所有元素的 Enumerable。让我们调用这个方法IEnumerable<Foo> GetAll()。所以如果我们有

GetAll对on elementC返回的调用{C, F, G}(元素的固定顺序会很好,但不是必需的)。我想每个人都已经知道了。

当前的实现GetAll如下所示:

在较早的实现中,我返回了一个 List 并使用List.AddRange().

我的问题是使用 yield 的版本是否正确实施或者是否应该改进(尤其是在性能方面)。还是这很糟糕,我应该坚持使用Lists (或ReadOnlyCollections) ?

0 投票
4 回答
1081 浏览

.net - 用简短的语言解释为什么 IQueryable需要

这个...... MSDN页面, IQueryable(Of T) Interface。你能更好地解释为什么我们需要一个标记接口,它不会在 IEnumerable 上添加任何方法吗?

0 投票
5 回答
4191 浏览

.net - 如何聚合 T 的多个 IEnumerables

给定....

我想要一个 IEnumerable(Of T) 它将遍历 MasterList 中所有 MasterItems 的所有 SubItems

我想认为有一个 Linq 工具可以做到这一点,或者我忽略了一个扩展方法。我需要一种在 VB9 (2008) 中工作的机制,因此不使用 Yield。

0 投票
5 回答
8606 浏览

c# - 为什么我不能投射 IEnumerable列表到 BindingList?

是否可以将 IEnumerable 列表转换为 BindingList 集合?

IEnumerable 列表是类型化对象的列表,例如:

而我的 PagingList 只是扩展了 BindingList:

我只是想将我的 IEnumerable 列表传递给一个使用 PagingControl 呈现列表的方法:

但似乎我不能在两者之间进行转换,谁能指出我错过了什么?!

非常感谢