ienumerator相关内容

IEnumerable在数组和列表上的性能不同

这个问题更像是一个“我的理解是否准确”的问题,如果不是,请帮我理清思路。我有一小段代码来解释我的问题: class Example { public string MyString { get; set; } } var wtf = new[] { "string1", "string2"}; IEnumerable transformed = wtf.Selec ..
发布时间:2022-04-19 11:55:29 C#/.NET

使用 ItemsSource 填充 WPF ListBox - 好主意?

我是一名(相对)经验丰富的 Cocoa/Objective-C 编码员,并且正在自学 C# 和 WPF 框架. 在 Cocoa 中,当填充 NSTableView 时,将委托和数据源分配给视图相对简单.然后使用这些委托/数据源方法填充表并确定其行为. 我正在组合一个简单的应用程序,它有一个对象列表,我们称它们为 Dog 对象,每个对象都有一个 public string name.这是 ..
发布时间:2022-01-16 11:30:02 C#/.NET

如何使用 SSIS 包中的 Foreach 循环容器选择最近创建的文件夹?

我在 SSIS 方面遇到了一个有趣的挑战.使用 for-each 文件枚举器,我需要选择最近创建的子文件夹,然后遍历每个文件. 也许一个例子会更好地解释.文件夹看起来像这样: c:\data\2011-0703 c:\data\2011-0626 c:\data\2011-0619 您如何获得每个文件枚举器以选择最近的文件夹?这可以通过查看创建日期或比较文件名来实现. ..
发布时间:2021-12-30 09:38:20 其他开发

您将如何实现 IEnumerator 接口?

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

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

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

为什么在 using 语句中的闭包内捕获可变结构变量会改变其本地行为?

更新:好吧,现在我已经完成了:我就此向 Microsoft 提交了错误报告,因为我严重怀疑这是正确的行为.也就是说,对于这个问题,我仍然不能 100% 确定该相信什么;所以我可以看到什么是“正确的"是可以接受某些级别的解释的. 我的感觉是,微软要么接受这是一个错误,要么回应说在 using 语句中修改可变值类型变量构成未定义的行为. 此外,就其价值而言,我至少对这里发生的事情有猜测.我 ..
发布时间:2021-12-23 17:28:50 C#/.NET

Unity - IEnumerator 的收益返回 null

我目前正在尝试了解 IEnumerator &Unity 上下文中的协程,并且对“yield return null"执行的内容不太有信心.目前我相信它基本上会暂停并等待下一帧,并且在下一帧中它会再次返回执行 while 语句. 如果我省略“yield return null",对象似乎会立即移动到其目的地,或者“跳过很多帧".所以我想我的问题是这个 while 循环中的“yield ret ..
发布时间:2021-12-11 16:59:37 C#/.NET

从数组中获取通用枚举器

在 C# 中,如何从给定的数组中获取通用枚举数? 在下面的代码中,MyArray 是一个 MyType 对象的数组.我想以显示的方式获取 MyIEnumerator,但似乎我获得了一个空的枚举数(尽管我已经确认 MyArray.Length > 0). MyType[] MyArray = ... ;IEnumeratorMyIEnumerator = MyArray.GetEnumera ..
发布时间:2021-11-18 04:01:36 C#/.NET

实现IEnumerator的类的序列化

我已经编写了一个可以序列化和反序列化的程序,它做的很好(我计划在使它正确运行后在子类上实现它).但是,当我决定要使用 Foreach 遍历结果时,我遇到了麻烦. 在这没用之后,我发现必须实现 IEnumerator 和 IEnumerable 接口并将必需的方法添加到我的类中.这样就可以了,这确实使我可以遍历我的收藏集. 当我尝试将两件事结合在一起时,问题就开始了…… 序列化时, ..
发布时间:2021-04-01 21:55:11 C#/.NET

使用IEnumerable检测修改

我有一个疑问,就是我还没有完全以这种格式被问到. 如果我有一个IEnumerable,它是基于对数据源的迭代生成的(并使用yield return语句),那么在通过Enumerator进行访问之后,如何检测到对源进行了修改?是通过GetEnumerator调用生成的? 这是一个奇怪的部分:我不是多线程的.我认为我的问题在某处存在缺陷,因为这应该很简单. . .我只想知道源代码何时更改且 ..
发布时间:2020-11-26 04:26:44 C#/.NET

为什么我们需要IEnumerator和IEnumerable?

好,所以我只是在IEnumerator和IEnumerable中工作.现在,MSDN表示这些事情的主要目标是遍历客户集合. 很公平,但是我能够遍历一个自定义集合而无需使用任何一个(或者至少我想这样) namespace ienumerator { class person { public person(string first, string second) { ..
发布时间:2020-11-26 04:26:23 C#/.NET

IEnumerable T提供了两个GetEnumerator方法-它们之间有什么区别?

当我建立IEnumerable接口时,我看到两种GetEnumerator方法:一种返回IEnumerator,另一种返回IEnumerator.我什么时候使用一个或另一个? 解决方案 如果要实现IEnumerable通用接口,则几乎总是必须使用通用GetEnumerator方法-除非将对象显式转换为(非-通用)IEnumerable. 原因是与不支持泛型的.NET ..
发布时间:2020-11-26 04:26:06 其他开发

IEnumerator:具有空的Dispose方法是否正常?

我正在编写一个 IEnumerator 类进行迭代一个 COM 集合,我是但是,我想不出要放在那里的任何东西,因为我只引用了该集合(我不想将其放置在的末尾)和一个int用于索引.将Dispose方法保留为空是否正常? 解决方案 是的. IEnumerator实现IDisposable,以防您制作确实需要处理的枚举数.由于不需要处理大多数枚举数,因此该方法通常为空. ..
发布时间:2020-11-26 04:13:22 C#/.NET

如何使用SSIS包中的Foreach循环容器选择最近创建的文件夹?

我在使用SSIS时遇到了一个有趣的挑战.使用for-each文件枚举器,我需要选择最近创建的子文件夹,然后遍历每个文件. 也许一个例子会更好地解释.文件夹如下所示: c:\ data \ 2011-0703 c:\ data \ 2011-0626 c:\ data \ 2011-0619 如何为每个文件枚举器选择一个以选择最新文件夹?可以通过查看创建日期或比较文件名 ..
发布时间:2020-11-05 20:25:54 其他开发

我需要实现什么接口以允许以delphi编写的COM对象在VBA中使用ForEach?

想象一下我想在VBA中执行类似的操作(伪代码),并假设我有一个可枚举的属性IDList: 昏暗的MyObject对象 set MyObject = CreateObject(“ MyObjectClass”) 每个项目都作为MyObject.IDList中的整数$ ID Debug.Write(Cstr(Item)&“;” ) 接下来的 我的财产 IDList 必须 ..
发布时间:2020-10-05 06:27:07 其他开发