ienumerable相关内容

您将如何实现 IEnumerator 接口?

我有一个将对象映射到对象的类,但与字典不同的是,它以两种方式映射它们.我现在正在尝试实现一个自定义的 IEnumerator 接口来遍历这些值. 公共类 Mapper:IEnumerable、IEnumerator{C5.TreeDictionaryKToTMap = new TreeDictionary();C5.HashDictionaryTToKMap = new Ha ..
发布时间:2021-12-27 18:01:16 C#/.NET

IEnumerable作为返回类型

使用 IEnumerable 作为返回类型有问题吗?FxCop 抱怨返回 List(它建议返回 Collection 代替). 嗯,我一直遵循这样一条规则:“接受最少的,但返回最多的." 从这个角度来说,返回IEnumerable是一件坏事,但是想使用“懒惰检索"怎么办呢?此外,yield 关键字非常有用. 解决方案 这实际上是一个由两部分组成的问题. 1) 返回一个 I ..
发布时间:2021-12-27 17:57:58 C#/.NET

实体集合的 IList 与 IEnumerable

当我的域中有包含事物列表的实体时,它们应该作为 ILists 还是 IEnumerables 公开?例如.订单有一堆订单行. 解决方案 IEnumerable 表示您可以迭代的一系列项目(例如,使用 foreach),而 IList 是一个可以添加或删除的集合来自. 通常,您希望能够通过添加或删除 OrderLine 来修改 Order,因此您可能希望 Order.Lines 成为 ..
发布时间:2021-12-27 17:46:03 其他开发

C#列表<>GroupBy 2 值

我在 Framework 3.5 上使用 C#.我希望通过两个属性快速分组一个通用列表.就本示例而言,假设我有一个 Order 类型的 List,其中包含 CustomerId、ProductId 和 ProductCount 的属性.如何使用 lambda 表达式获得按 CustomerId 和 ProductId 分组的 ProductCounts 的总和? 解决方案 var sums ..
发布时间:2021-12-27 08:05:50 C#/.NET

如果我只能定义一个 GetEnumerator,为什么要实现 IEnumerable(T)?

更新:我感谢所有评论,这些评论基本上包括一致反对.虽然提出的每一个反对意见都是有效的,但我觉得棺材里的最终钉子是 Ani 的敏锐观察 最终,即使是这个想法表面上提供的one 微不足道好处——消除样板code -- 被这个想法本身需要它自己的样板代码这一事实否定了. 所以,是的,相信我:这将是一个坏主意. 而且只是在某种程度上挽救了我的尊严:我可能会为了争论而夸大其词,但我从来没有真正接 ..
发布时间:2021-12-26 12:25:13 C#/.NET

C# 4.0 'dynamic' 和 foreach 语句

不久之前我发现,新的 dynamic 关键字不能很好地与 C# 的 foreach 语句配合使用: 使用系统;密封类 Foo {公共结构 FooEnumerator {整数值;public bool MoveNext() { 返回真;}public int Current { 获取 { 返回值++;} }}公共 FooEnumerator GetEnumerator() {返回新的 FooEnu ..
发布时间:2021-12-26 12:13:32 其他开发

Class是否需要实现IEnumerable才能使用Foreach

这是在 C# 中,我有一个类,我正在使用其他人的 DLL.它没有实现 IEnumerable,但有 2 个方法可以传回 IEnumerator.有没有办法可以在这些上使用 foreach 循环.我使用的类是密封的. 解决方案 foreach not 需要 IEnumerable,这与流行的看法相反.它所需要的只是一个方法 GetEnumerator,该方法返回具有方法 MoveNext 和 ..
发布时间:2021-12-26 12:12:19 C#/.NET

来自 IEnumerable 的 foreach 中特定类型的对象

我正在使用仅实现非通用 IEnumerable 和 ICollection 的遗留集合对象.当我尝试将这个对象与 foreach 一起使用时,这个对象究竟会发生什么,在 foreach 表达式的 LHS 上给出更具体的类型? //LegacyFooCollection 实现了非泛型 IEnumerableLegacyFooCollection 集合 = GetFooCollection();fo ..
发布时间:2021-12-26 12:09:02 C#/.NET

C# 4.0 '动态' 和 foreach 语句

不久之前我发现,新的 dynamic 关键字不能很好地与 C# 的 foreach 语句配合使用: 使用系统;密封类 Foo {公共结构 FooEnumerator {整数值;public bool MoveNext() { 返回真;}public int Current { 获取 { 返回值++;} }}公共 FooEnumerator GetEnumerator() {返回新的 FooEnu ..
发布时间:2021-12-25 08:18:09 其他开发

为什么实现变体接口的类保持不变?

C# 4.0 进一步扩展了泛型类型和接口的协变和逆变.一些接口(如 IEnumerable)是协变的,所以我可以做这样的事情: IEnumerableie = new List(); 但是这条线呢?我有一个编译时错误 Listlist = new List();//不能隐式转换类型List'到列表' 我的意思是,如果 List 实现 IEnumerable 为什么 List 仍然是不变的? ..
发布时间:2021-12-25 08:04:57 C#/.NET

Select 投影中的索引

在执行以下操作时,我希望我的索引从大于 0 的数字计数开始: var dataSource = WebConfigurationHelper.GetSupportedDomainsString().Select((domain, index) =>new { index , Name = domain }); 所以我的输出变成: index=2 domain=zombieland索引=3 域 ..
发布时间:2021-12-19 15:16:12 C#/.NET

为什么 ASP.NET MVC 默认模型绑定器很慢?完成它的工作需要很长时间

在当前项目中,客户要求以两种方式回答问卷的可能性:使用Wizard(一次一个问题)和Listing(所有问题)一次)以单一形式.两种方式都已经实现. 问题是使用 AJAX 从数据库中按照手册章节加载的(这非常快).目前最大的一章有 230 个问题(每个有 4 个 HTML 输入字段 - 输入/文本、选择等).如果用户选择这样的章节以 Listing 格式回答, 将包含大约 920 字段以发 ..
发布时间:2021-12-18 15:08:12 其他开发

为什么 IEnumerable从 IEnumerable 继承?

这可能是个老问题:为什么 IEnumerable 继承自 IEnumerable? .NET 就是这样做的,但它带来了一些麻烦.每次写一个类实现IEumerable,都要写两个GetEnumerator()函数,一个用于IEnumerable和另一个用于 IEnumerable. 而且,IList 不继承自 IList. 我不知道为什么 IEnumerable 以其他方式设计. ..
发布时间:2021-12-15 10:03:55 C#/.NET

将单个项目作为 IEnumerable 传递;

是否有一种通用的方法可以将 T 类型的单个项目传递给需要 IEnumerable 参数的方法?语言为C#,框架版本2.0. 目前我正在使用辅助方法(它是 .Net 2.0,所以我有一大堆类似于 LINQ 的转换/投影辅助方法),但这看起来很愚蠢: 公共静态类IEnumerableExt{//用法:IEnumerableExt.FromSingleItem(someObject);公共静态 ..
发布时间:2021-12-15 09:39:09 C#/.NET