foreach相关内容

如果我总是用Parallel.Foreach,因为更多的线程必须加快一切?

这是否对你有意义使用对于每个普通的foreach一个parallel.foreach循环? 我什么时候应该开始使用parallel.foreach,只迭代百万个? 解决方案 没有,它没有任何意义的每一个的foreach。一些原因: 您$​​ C $ C可能没有的实际上的是并行的。例如,如果您使用的是“结果至今”下一个迭代和顺序很重要) 如果您正在聚集(如求和值),则存在使用方法 Paral ..
发布时间:2015-11-28 10:38:31 C#/.NET

LINQ到陷入困境秩序的阵列?

更新:虚惊!错误的来源是在其他地方。 (见在问题的终结。) 是否有可能,要么LINQ的或的foreach可以搞砸一个数组的顺序? 我的一个测试报告都经历过的项目列表的顺序,他送入作为输入被保存在数据库中的最终名单的顺序不匹配。更多precisely,第一个元素成为最后一个。 所以,我回顾我的code一步一步,我不知道什么应该改变的顺序。有一个LINQ查询,但foreach循环。难道这些可以搞 ..
发布时间:2015-11-27 22:02:41 C#/.NET

使用的Foreach条款LA​​MBDA防爆pression

可能重复: 修改 有关引用,这里的博客文章中评论这埃里克referrrred到 弊 更多的是好奇,我想,但一个是C#规格学者... 为什么是它给ForEach()子句不工作(或不可用)对IQueryable的使用/ IEnumerable的结果集... 您必须首先将你的结果了ToList()或的ToArray() presumably那里有一个技术限制的方式C#迭代IEnumera ..
发布时间:2015-11-27 21:21:14 C#/.NET

我怎么可以遍历同时在两个IEnumerables在.NET 2

编辑:我分开这两个问题: 在迭代两个列表在较短的结束 在遍历多个列表,直到最长的列表的最后一个元素已经达到 假设我有两个IEnumerable的许多元素。每一个IEnumerable的还有另外一个T型。 的IEnumerable< INT>整数= getManyInts(); IEnumerable的<字符串>串= getSomeStrings(); 我想要做 ..
发布时间:2015-11-27 11:45:31 C#/.NET

窗体上枚举控件

我有一个就可以了约30控件的窗体,当用户点击一个按钮,从每个控制数据被保存到一个文件中。但是我需要去通过表单(这是我能做到)在每一个控制,但它需要是为了,例如,我需要开始就在表格的左上方和下工作,我的路到底正确的形式。 这是一个foreach循环将如何运作?即: 的foreach(在this.Controls控制控制) { } 或者它不经过他们为了? 解决方案 这将返回控制在它们被 ..
发布时间:2015-11-27 11:43:39 C#/.NET

在.NET中,阵列仅延IEnumerable的,所以才会有装箱和拆箱时,foreach循环遍历一个值类型的数组?

阵列只延长了IEnumerable的非通用版本,所以才会有装箱和拆箱时,foreach循环遍历一个值类型的数组? 我猜测不是,因为那将是瘸腿的。 如果我的猜测是正确的,那么怎样的foreach经过值类型数组?这岂不是使用Array.GetEnumerator方法?如果不是,为什么阵列扩展了IEnumerable 感谢 解决方案 阵列有很多在运行时特别的外壳。尤其是,它是伪通用的。也就是说, ..
发布时间:2015-11-26 21:47:11 C#/.NET

是对象的顺序返回FOREACH稳定吗?

它是安全的假设两个itterations在相同的集合将返回对象以相同的顺序?显然,假设集合工作尚未改变。 解决方案 简短的回答 - 是的, 显然,虽然,这两个项目集合中的顺序可能不完全,因为它们被插入,这取决于集合的类型(一个字典,例如)。 但你会使用foreach循环每次迭代一个单一的,未经修改的收集时间得到相同的结果。 ..
发布时间:2015-11-26 20:33:09 C#/.NET

调试foreach循环在C#中:什么迭代是什么?

除了设置调试变量,每次启动的foreach时间递增它,当你打破了Visual Studio调试器连接,有没有办法告诉大家,这是通过循环第十届时间? 我想这将是Visual Studio中的一个功能,如果有的话,没有东西会被添加到编译code。 解决方案 继承人previous堆栈 溢出的问题,这似乎是你找什么: 回答这个链接引用: 的Foreach是用于遍历实现IEnumer ..
发布时间:2015-11-26 16:42:26 C#/.NET

使用的foreach当内存分配循环在C#

我知道如何foreach循环在C#中工作的基本知识(如何做的foreach循环在C#中)工作 我想知道是否使用的foreach分配内存,可能会导致垃圾回收? (所有内置系统类型)。 例如,使用反射对 System.Collections.Generic.List< T> 类,这里的GetEnumerator的实现: 公开枚举器< T>的GetEnumerator() ..
发布时间:2015-11-26 01:12:21 C#/.NET

Parallel.ForEach - 优美取消

在等待这个问题,直到任务完成和线程同步。 目前,我有一个迭代我有一个Parallel.ForEach括起来。在下面的例子我提出的关于如何最好地处理正常终止循环(.NET 4.0)的意见的一些问题; 私人无效myFunction的() { IList的<字符串> iListOfItems =新的名单,其中,串>(); //填充iList ..
发布时间:2015-11-26 00:12:52 C#/.NET

开始在foreach循环中一个新的线程

我有对象的名单,我想遍历该列表,并开始一个新的线程,传递当前对象。 我已经写了什么,我认为应该做这样的一个例子,但它不工作。具体而言,它似乎像线程被覆盖掉在每次迭代。这并没有真正意义的我,但因为我在做每一次新的Thread对象。 这是考验code我写了 类节目 { 静态无效的主要(字串[] args) { TestClass的T =新的识别TestClass( ..
发布时间:2015-11-26 00:10:00 C#/.NET

我如何能使用foreach循环容器在SSIS遍历多维数组?

我有一个SSIS包多数民众赞成更新使用脚本一对夫妇表和中一对夫妇的其他东西的foreach容器。我使用的SqlConnection 和的SqlCommand 来调用这个查询脚本任务在foreach容器之前: SELECT TOP 10 DirectoryID,目录路径从ProjectDirectory ORDER BY LastAudit 和正在使用 SqlDataReader的将它们添加到一 ..
发布时间:2015-11-25 16:01:24 C#/.NET

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

更新:我AP preciate所有的意见,已基本包括一致反对的。虽然提出的每异议是有效的,我觉得在棺材最终钉子是所以呀,把我坚信:这将是一个坏主意。 排序 而只是为了挽救自己的尊严有点:我可能发挥它的参数的缘故,但我从来没有真正对这个想法销往开始 - 只是好奇,想听听别人不得不说一下吧。诚实的。 在您关闭这个问题是荒谬的,我问你要考虑以下几点: 的IEnumerable< T> ..
发布时间:2015-11-25 14:58:08 C#/.NET

更新结构体在C#中foreach循环

我有这个code(C#): 使用System.Collections.Generic; 命名空间ConsoleApplication1 { 公共结构的事 { 公共字符串名称; } 类节目 { 静态无效的主要(字串[] args) { 名单<东西>事情=新的名单,其中,事 ..
发布时间:2015-11-25 14:08:31 C#/.NET

排序顺序阵列上使用的foreach时,列举等

在通过阵列使用的foreach迭代,有没有担保,在其中的元素返回的顺序是订单阵[0],数组[1],数组[2],... 我知道这是怎么了Array类现在已经实现,但没有任何担保的框架的未来版本?同样的问题也适用于清单<> 解决方案 我不得不同意与所有的答案为止。 首先,C#3.0的标准保证的foreach的顺序阵列上: 在其中的foreach遍历顺序 数组的元素,是作为 如下:对 ..
发布时间:2015-11-24 22:35:53 C#/.NET

在C#中,是纯粹的foreach一个“语法糖”?或者是有什么关于它的更深?

编译器编译了“foreach”循环变得像一个for循环当“的foreach”是用于数组; 和编译器编译了“foreach”循环成类似当年“的foreach”是使用一个IEnumerable或IEnumerable的while循环; 那么,这是否意味着“的foreach”是一个纯粹的“语法糖”? 或者有什么复杂的呢? 请问CLR知道“的foreach”?有没有具体的MSIL code专为“的 ..
发布时间:2015-11-24 22:04:22 C#/.NET

是什么特殊情况的foreach循环,消除边界检查?

什么是特例在foreach /循环,消除边界检查?同时它的边界检查是什么呢? 解决方案 标准 的for(int i = 0; I< array.Length;我++){ ... } 循环是一个允许JIT以安全移除数组的边界检查(该指数是否在[0..length-1]) 在的foreach 遍历数组等同于标准为遍历数组。 编辑: 正如罗伯特·杰普逊所指出的: ..
发布时间:2015-11-24 21:20:22 C#/.NET