IL角度理解for 与foreach的区别--迭代器模式 目录 IL角度理解for 与foreach的区别--迭代器模式 1 最常用的设计模式 1.1 背景 1.2 摘要 2 遍历元素 3 删除元素 3.1 for删除例子 3.2 foreach删除例子 4 修改元素 4.1 for修改 4.2 foreach修改 5 修改元素属性 6 什么场景下用foreach 7 小结 1 最常用的设计模式 1.1 背景 如果问你最常用的设计模式是哪种?你可能会说单例模式,工厂模式.但根据我在项目里的经验,…
IL角度理解C#中字段,属性与方法的区别 1.字段,属性与方法的区别 字段的本质是变量,直接在类或者结构体中声明.类或者结构体中会有实例字段,静态字段等(静态字段可实现内存共享功能,比如数学上的pi就可以存在静态字段).一般来说字段应该带有private 或者 protected访问属性.一般来说字段需要通过类中的方法,或者属性来暴露给其他类.通过限制间接访问内部字段,来保护输入数据的安全. 属性的本质是类的一个成员,它提供了私有字段读,写,计算值的灵活机制.属性如果是数据成员能直接被使用,但本…
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,很久没以LZ的身份和各位对话了,前段时间为了更加逼真的解释设计模式,LZ费尽心思给设计模式加入了故事情节,本意是为了让各位在看小说的过程中就可以接触到设计模式,不过写到现在,LZ最深的感触就是,构思故事的时间远远超过了LZ对设计模式本身的研究. 本章介绍迭代器模式,不再采用故事嵌入的讲解方式,主要原因是因为迭代器模式本…
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,很久没以LZ的身份和各位对话了,前段时间为了更加逼真的解释设计模式,LZ费尽心思给设计模式加入了故事情节,本意是为了让各位在看小说的过程中就可以接触到设计模式,不过写到现在,LZ最深的感触就是,构思故事的时间远远超过了LZ对设计模式本身的研究. 本章介绍迭代器模式,不再采用故事嵌入的讲解方式,主要原因是因为迭代器模式本…
定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示. 从定义中可以看出,迭代器模式是为了在不暴露该对象内部表示的情况下,提供一种顺序访问聚合对象中元素的方法.这种思想在JAVA集合框架中已经体现的淋漓尽致,而且LZ相信每一个接触JAVA的同学都难免要去触碰. 所以LZ这次先不给出迭代器的类图与标准实现,我们先来看看迭代器模式解决了JAVA集合框架中的哪些问题. 为了更加清晰,LZ斗胆写了几个简单的集合类(向JDK类库的缔造者致敬),我们从这几个简单的集合类出发,去仔细…
从IL角度彻底理解回调_委托_指针 目录 从IL角度彻底理解回调_委托_指针 1.创作此文的背景 1.1.委托能帮助代码更好地封装 1.2.委托能随时随地更方便地运行其他类中的方法 1.3.委托非常适合做发布订阅者设计模式 1.4.委托也适合做远程rpc的回调函数 1.5.真正把委托的前因后果讲清楚的文章并不多 2.概念 2.1.指针(C语言) 2.2.委托 2.3.回调 3.代码 3.1.案例 3.2.代码 3.3.代码演示效果 4.IL代码 4.1.什么是IL代码 4.2.使用JetBrai…
从tcp原理角度理解Broken pipe和Connection reset by peer的区别 http://lovestblog.cn/blog/2014/05/20/tcp-broken-pipe/   以前我们经常会碰到Broken pipe或者Connection reset by peer之类的异常,但是tcp实现里什么情况下会抛出这些异常呢,以前我给对方的回答都是模棱两可的,自己说实话都没把握,因为自己也没有验证过,对它们的认识都是从网上看来的,正确与否也不知道,昨天独明突然又问…
.Net底层剖析目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 未完待续...... 概述: 我们经常在code中用到属性,但是我们真的知道属性和字段的区别吗?为什么会有属性这个用法?带着这两个问题,我们来用IL中间语言剖析一下属性(Property) C#中如何定义一个属性 public string name { get; set; } 编译之后,用ildasm.…
转自:http://blog.163.com/mig3719@126/blog/static/285720652010950825538/ 6. 从关系角度理解SQL 6.1. 关系和表 众所周知,我们目前所用的数据库,通常都是关系数据库.关系自然在其中处于关键位置.初学数据库原理的人可能会很困惑关系和表是什么联系,如果没有清楚的理解,很可能会认为关系这个概念没有实际意义,只会引起混淆.其实这两组概念只是由于理论界与技术界的着重点不同.前者需要用一个专业的.没有歧义的概念来进行理论探讨,后者则希…
IL来理解属性   阅读目录 概述: C#中如何定义一个属性 Student类 属性Name Main方法 实现get,set方法 性能 访问权限 回到最开始提出的问题 参考资料 .Net底层剖析目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 未完待续...... 回到顶部 概述: 我们经常在code中用到属性,但是我们真的知道属性和字段的区别吗?为什么会有属性这个用…