关于foreach的一个BUG
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的更多相关文章
- [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found
google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...
- [bug]——vue 组件状态外置引发的一个 bug
背景 在编写 .vue 组件时,可以将状态外置来获取一些额外的好处,譬如有这么一个组件(global-components.vue): <template> <div> < ...
- Tomcat一个BUG造成CLOSE_WAIT
之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...
- MySQL关于exists的一个bug
今天碰到一个很奇怪的问题,关于exists的, 第一个语句如下: SELECT ) FROM APPLY t WHERE EXISTS ( SELECT r.APPLY_ID FROM RECORD ...
- 由一个bug引发的SQLite缓存一致性探索
问题 我们在生产环境中使用SQLite时中发现建表报“table xxx already exists”错误,但DB文件中并没有该表.后面才发现这个是SQLite在实现过程中的一个bug,而这个bug ...
- Win10系统菜单打不开问题的解决,难道是Win10的一个Bug ?
Win10左下角菜单打不开,好痛苦,点击右下角的时间也没反应,各种不爽,折磨了我好几天,重装又不忍心,实在费劲,一堆开发环境要安装,上网找了很多方法都不适用.今天偶然解决了,仔细想了下,难道是Win1 ...
- 你可能不知道的 NaN 以及 underscore 1.8.3 _.isNaN 的一个 BUG
这篇文章并不在我的 underscore 源码解读计划中,直到 @pod4g 同学回复了我的 issue(详见 https://github.com/hanzichi/underscore-analy ...
- 标准模板库(STL)的一个 bug
今天敲代码的时候遇到 STL 的一个 bug,与 C++ 的类中的 const 成员变量有关.什么,明明提供了默认的构造函数和复制构造函数,竟然还要类提供赋值运算符重载.怎么会这样? 测试代码 Tes ...
- 是uibutton跟tableviewcell同步使用一个bug
这个问题是uibutton跟tableviewcell同步使用一个bug,不关delay一点毛事,证据就是点击事件没问题,so,搜到一个方法解决了这个问题.uibutton分类symbian2+ios ...
随机推荐
- atol的实现【转】
本文转载自:http://blog.csdn.net/cwqbuptcwqbupt/article/details/7518582 看了atol的实现,发现char到int的转换比较奇怪:c = (i ...
- ping请求超时的解决方法
我们有时需要进行远程或者共享对方数据库的时候,会ping一下对方电脑,时候能够ping通,时候能够进行数据的传输.有时会出现ping请求超时,那么遇到这个问题该怎么解决? 我们首要解决的是看他自己是否 ...
- complex brain network
Organization, development and function of complex brain networks The Brain as a Complex System: Usin ...
- 我的CSDN博客
从csdn搬过来的: csdn地址:http://blog.csdn.net/WR_technology
- [调试AvantCourier的笔记]
1.manifest里不能设置target sdk 不然会出现stale error. 2.manifest里要有Internet权限 3
- kallsyms
kallsyms 在v2.6.0的内核中,为了更好地调试内核,引入新的功能kallsyms.kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中.
- Code:NFine目录
ylbtech-Code:NFine目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylb ...
- 设计模式学习笔记 1.factory 模式
Factory 模式 用户不关心工厂的具体类型,只知道这是一个工厂就行. 通过工厂的实现推迟到子类里面去来确定工厂的具体类型. 工厂的具体类型来确定生产的具体产品. 同时用户不关心这是一个什么样子的产 ...
- Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示
如何在Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示 使用Datawindow.net要选中一行是很容易的意见事情,有很多种办法可以实现,最简单的莫过于使用selectrow ...
- 利用vs自带工具分析程序性能
测试程序写好后可以通过VS2010分析菜单里选择启用性能向导 选择CPU采样后就选择需要分析的项目 测试项目选择完成后就可以运行分析,结束分析后VS2010会提供个详细报告文档 从分析结果来看GetC ...