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

linq - 将 LINQ 应用于对象分组依据和排序依据到通用列表(C#)

我很难针对通用列表 myList 创建工作组依据和排序依据子句。myList 有一个属性“设置”列表,它本身包含每个业务的“子”属性列表。

我想按行业分组,并在每个行业内按企业名称排序。我的意图是这样的:

但是我收到错误消息:' System.Linq.IGrouping 不包含设置的定义,并且没有扩展方法设置接受 System.Linq.Igrouping 类型的第一个参数可以找到.... '表明我无法调用订单by 子句没有一些转换或额外的处理。

我已经尝试了各种各样的方法来分解它并让它工作,但我错过了一些东西。任何帮助表示赞赏

0 投票
3 回答
205 浏览

vb.net - 有没有办法检查是否正在使用 For Each 循环访问 IEnumerable?

假设我有一个 IEnumerable,例如 List(TValue),并且我想跟踪是否正在访问该列表(以防止出现问题,例如,在不同线程上迭代列表时添加到列表);我总是可以编写如下代码:

(我意识到这段代码非常随意,但它说明了我在说什么。)

我的问题是是否有比手动更新和访问布尔值更好/更清洁的方法来执行此检查,如上所述。我觉得必须有,但据我所知,没有任何 IEnumerable 类具有内置的“我正在迭代”方法或属性。编写一个实现 IEnumerable 并包含这样一个属性的新类对我来说似乎有点矫枉过正。

0 投票
5 回答
27017 浏览

c# - 数据表与 IEnumerable

我正在与另一位与我一起工作的程序员进行辩论。

对于数据库返回类型,是否存在任何显着的内存使用或性能差异,或其他应使某人避免使用 DataSets 和 DataTables 并偏爱实现IEnumerable<T>...的类型或反之亦然的缺点

我更喜欢返回实现IEnumerable<T>( List<T>, T[] etc) 的类型,因为它更轻量级,在访问属性时对对象进行强类型化,允许有关底层类型的更丰富的信息等。尽管手动使用数据读取器时,它们确实需要更多时间来设置。

这些天使用 DataTables 的唯一原因仅仅是懒惰吗?

0 投票
2 回答
6868 浏览

c# - IEnumerable 和字符串数组 - 查找匹配值

背景:我在视图模型中有一个带有 MultiSelectList 的 ASP.NET MVC 视图页面。我想用 MultiSelectList 对象中的 SelectedValues 列表填充标签。该列表以 IDName 类型存储在 MultiSelectList 中:

所以 MultiSelectList.Items 是一个包含 IDName 列表的 IEnumerable。我可以在这个列表上做一个 foreach 并抓取 .Name 来获取每个条目的名称。但是,如果 ID 在 MultiSelectList.SelectedItems 中,我只想这样做,它看起来是一个字符串 [],看起来像:

所以,当 IDName.ID 在 SelectedItems 列表中时,我只想获取 IDName.Name。

我对 MVC 和 C# 都很陌生,所以我不确定最好的方法。有什么建议么?

更新#2:

好的,我很密集。这有效:

SelectedValues 实际上是一个包含 string[] 的 IEnumerable。

0 投票
4 回答
4459 浏览

c# - 检查 IEnumerable(Of T) 中是否没有元素 - Linq 元素和量词运算符

对于我的功能

当序列不包含任何元素时,此行会出错(应该如此)

我已将其更改为以下

是否有更好、更简单或更优雅的方法来确定 IEnumerable 序列是否没有元素?

0 投票
5 回答
2819 浏览

c# - 对集合中的所有对象运行方法

所以我有一个从 Bloops 集合创建的 Razzies 集合。我使用 Linq 查询检索此集合。参考:Linq 将某些属性选择到另一个对象中?用于查询。

我想知道是否可以在返回集合之前,甚至在返回集合之后,在所有新创建的 Razzies 上运行一个方法,而无需使用 for 循环。

我试过这个:

但它什么也不返回。

0 投票
4 回答
33239 浏览

c# - Assert.AreEqual 如何确定两个通用 IEnumerable 之间的相等性?

我有一个单元测试来检查方法是否返回正确的IEnumerable. 该方法使用yield return. 它是可枚举的类如下:

这是该方法的相关部分:

如果我将此方法的结果存储在 中actual,请创建另一个 enumerable expected,然后像这样比较它们......

...,断言失败。

IEnumerable我为此编写了一个类似于Pythonzip函数的扩展方法(它将两个 IEnumerables 组合成一组对)并尝试了这个:

有效!Assert.AreEqual那么这两个s有什么区别呢?

0 投票
2 回答
2901 浏览

c# - C#:IEnumerator在 using 语句中

我很想知道该SingleOrFallback方法是如何在MoreLinq中实现的,并发现了一些我以前从未见过的东西:

为什么IEnumerator<T>using声明中?foreach这也是在使用on an时应该考虑的事情IEnumerable<T>吗?

附带问题:这种方法究竟做了什么?每当源序列不包含一个项目时,它是否返回后备项目?

0 投票
6 回答
84939 浏览

c# - 铸造 IEnumerable列出

我想知道是否可以将 anIEnumerable转换为List. 除了将每个项目复制到列表中之外,还有其他方法吗?

0 投票
2 回答
4004 浏览

c# - 如何声明具有匿名类型的字段(C#)

在下面的代码中,如何将 myLine 声明为公共(全局)变量?问题是我不能使用关键字“var”。

我想这样做,因为我必须找到一种方法来访问该 ienumerable 以供以后使用。