foreach用起来比for更方便,但是foreach隐藏的操作,可能带来更多未知的BUG,今天就遇到一个问题.编程环境VS2010

//使用foreach遍历,其中未改变item的值,但是使用了匿名委托 item的值始终为rels.za.Asm的最后一位.百思不得其解,后改为for
           foreach (var item in rels.za.Asm.Count)
{
var item = rels.za.Asm[i];
item.pone.Extend.Addonly("string-性格", RandCells(), data => {
List<string> sary = (List<string>)data.value; string sc = "{0}是一个{1}的人。";
string sd = MES.Format(sc, item.pone.Name.ToString(), RandCellsms(sary));
return sd;
}); item.pone.Extend.Addonly("Appearance-长相", new WorldOne.People.Appearance(), data =>
{
WorldOne.People.Appearance aone = (WorldOne.People.Appearance)data.value;
return aone.ms(item.pone);
}); item.pone.Extend.Addonly("string-爱好", likes(item.pone), data =>
{
List<string> sary = (List<string>)data.value;
string scc = "{0}的爱好是{1}。";
string sdd = MES.Format(scc, item.pone.Name.ToString(), RandCellsms(sary));
return sdd;
});
}
           for (int i = ; i < rels.za.Asm.Count ; i++)  //使用for之后,数据读取正常
{
var item = rels.za.Asm[i];
item.pone.Extend.Addonly("string-性格", RandCells(), data => {
List<string> sary = (List<string>)data.value; string sc = "{0}是一个{1}的人。";
string sd = MES.Format(sc, item.pone.Name.ToString(), RandCellsms(sary));
return sd;
}); ..........

所以不管这个是不是foreach的BUG,都是使用foreach造成的问题,所以以后使用foreach要尽量避免一些非常规的操作.

关于foreach的一个BUG的更多相关文章

  1. [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found

    google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...

  2. [bug]——vue 组件状态外置引发的一个 bug

    背景 在编写 .vue 组件时,可以将状态外置来获取一些额外的好处,譬如有这么一个组件(global-components.vue): <template> <div> < ...

  3. Tomcat一个BUG造成CLOSE_WAIT

    之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...

  4. MySQL关于exists的一个bug

    今天碰到一个很奇怪的问题,关于exists的, 第一个语句如下: SELECT ) FROM APPLY t WHERE EXISTS ( SELECT r.APPLY_ID FROM RECORD ...

  5. 由一个bug引发的SQLite缓存一致性探索

    问题 我们在生产环境中使用SQLite时中发现建表报“table xxx already exists”错误,但DB文件中并没有该表.后面才发现这个是SQLite在实现过程中的一个bug,而这个bug ...

  6. Win10系统菜单打不开问题的解决,难道是Win10的一个Bug ?

    Win10左下角菜单打不开,好痛苦,点击右下角的时间也没反应,各种不爽,折磨了我好几天,重装又不忍心,实在费劲,一堆开发环境要安装,上网找了很多方法都不适用.今天偶然解决了,仔细想了下,难道是Win1 ...

  7. 你可能不知道的 NaN 以及 underscore 1.8.3 _.isNaN 的一个 BUG

    这篇文章并不在我的 underscore 源码解读计划中,直到 @pod4g 同学回复了我的 issue(详见 https://github.com/hanzichi/underscore-analy ...

  8. 标准模板库(STL)的一个 bug

    今天敲代码的时候遇到 STL 的一个 bug,与 C++ 的类中的 const 成员变量有关.什么,明明提供了默认的构造函数和复制构造函数,竟然还要类提供赋值运算符重载.怎么会这样? 测试代码 Tes ...

  9. 是uibutton跟tableviewcell同步使用一个bug

    这个问题是uibutton跟tableviewcell同步使用一个bug,不关delay一点毛事,证据就是点击事件没问题,so,搜到一个方法解决了这个问题.uibutton分类symbian2+ios ...

随机推荐

  1. 人生苦短之Python迭代器

     迭代 在Python中,如果给定一个list或者touple,我们可以通过for循环来遍历,将值依次取出,这种遍历称为迭代. 在Python中是通过for...in..来进行遍历的,在Java中则是 ...

  2. hadoop集群部署后,遇到的问题记录

    1.  部署完,启动集群后,mapred-site.xml文件中配置没有生效 <property> <name>mapred.job.tracker</name> ...

  3. Android记录程序崩溃Log写入文件

    将导致程序崩溃的堆栈调用Log写入文件,便于收集bug.在调试安卓程序,由于某些原因调试时手机不能连接PC端,无法通过IDE查看程序崩溃的Log,希望log能够写入文件中,对于已经发布的App可以通过 ...

  4. static静态数据的初始化

    package com.demo.book; public class StaticInitialization { static Table table = new Table(); static ...

  5. double转int时精度不一致问题

    float和double类型的主要设计目的是为了科学计算和工程计算.它们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该 ...

  6. js实现打字机效果

    var s = 'Hello World! Hello World! Hello World!'; var con = $('.container'); var index = 0; var leng ...

  7. 数学题--On Sum of Fractions

    题目链接 题目意思: 定义v(n)是不超过n的最大素数, u(n)是大于n的最小素数. 以分数形式"p/q"输出 sigma(i = 2 to n) (1 / (v(i)*u(i) ...

  8. 【转】澄清P问题、NP问题、NPC问题

    首先,原文链接.(这篇文章让我第一次有了感谢腾讯,感谢微信,感谢微信公众号的冲动.总之,非常感谢作者的分享.) 然后:结论图如下 担心万一哪天原网站把这篇文章下线,所以原文内容复制过来. 澄清P问题. ...

  9. 【C/C++】malloc()

    <math.h>文件中对malloc()函数原型: _CRTIMP void *  __cdecl malloc(size_t); MSDN中对malloc()的解释: malloc re ...

  10. 51Nod - 1055:最长等差数列 (求最长的等差数列)

    N个不同的正整数,找出由这些数组成的最长的等差数列.     例如:1 3 5 6 8 9 10 12 13 14 等差子数列包括(仅包括两项的不列举) 1 3 5 1 5 9 13 3 6 9 12 ...