众所周知,如果一个类可以被枚举,那么这个类必须要实现IEnumerable接口,而恰恰我们所有的linq都是一个继承自IEnumerable接口的匿名类, 那么问题就来了,IEnumerable使了何等神通让这些集合类型可以被自由的枚举??? 一: 探索IEnumerable 首先我们看看此接口都定义了些什么东西,如ILSpy所示: 从这个接口中,好像也仅仅有一个IEnumerator接口类型的方法之外,并没有可以挖掘的东西,这时候大家就应该好奇了,foreach既然可以枚举Collectio…
说起匿名类型,我们都知道这玩意都是为linq而生,而且匿名类型给我们带来的便利性大家在实战中应该都体会到了,特别适合于一次性使用,临时 使用这些场景,虽然说是匿名类型,也就是说是有类型的,只是匿名了而已,对吧,这篇我们就来探索下匿名类型到底和linq有多大关系呢??? 一:select中的匿名类型 这个我想大家用的是最多的,毕竟你select之后需要把原始数据重塑成另一种形状展示出来,不信你看嘛!!! class Program { static void Main(string[] args)…
我们知道linq是一个很古老的东西,大家也知道,自从用了linq,我们的foreach少了很多,但有一个现实就是我们在实际应用中使用到的却是屈指可数 的几个方法,这个系列我会带领大家看遍linq,好的,废话不多说,先从Aggregate这个貂毛说起. 一:应用场景 前不久在写一个项目的时候,我需要捞取营销活动,刚好营销活动有两个类型,一种是普通活动,一个是触发式活动,由于存放在两张表中,并且捞取 之后需要做一些实体的转存,等等计算,所以就有了类似这样的代码. namespace ConsoleA…
在上一章节中,详细的类(class)做了一个实例讲解,提到了类(class)的实例化.构造函数.声明.实现方式.和Java中类的区别等.但是对于Kotlin中的类的使用还远远不止那些.并且在上文中提到了关于类的类别.故而这篇文章就详细说一说Kotlin中的枚举类(Enum).接口类(Interface)的使用. 如果还对Kotlin中的类还没有一个清晰的概念及认识的朋友请阅读我的上一篇博文: Kotlin--最详细的类(calss)详解 目录 一.枚举类 1.1.声明方式及枚举常量 关键字:en…
1. 我们学了类的这些东西,用这些类我们来操作一个关于类的实例. 2. 题目:人开枪射击子弹,然后具有装弹动作,然后再开枪. 第一步:设计类: 人类名:Person属性:gun行为:fire,fillBullet 枪类名:Gun属性:bulletBox行为:shoot 弹夹类名:BulletBox属性:bulletCount行为: 分析:我们采取倒序的方式来设计这段面向对象的程序.人——枪——弹夹——发射,我们可以看出发射是最后一个动作. 第二步:创建类: 我们用图示的方式来演示这么一段代码的过…
最近发现了几个非常好用   提高编码效率 的idea 插件 跟大家分享一下,,,不用谢我!!!!!!!!!!!!! 因为idea自带的插件下载可能连接不上服务器而导致插件下载失败,所以这里推荐使用引入外部插件的方式 插件包也给你们准备好了(你们无需去下载啦),对照此篇博客配置即可: 链接:https://pan.baidu.com/s/1VKXJ74W3s6RZHL-3YHlaEA 密码:z411 首先说一下idea引入外部插件的方式: 1.打开settings配置面板 2.选择plugins-…
最近发现了几个非常好用   提高编码效率 的idea 插件 跟大家分享一下 因为idea自带的插件下载可能连接不上服务器而导致插件下载失败,所以这里推荐使用引入外部插件的方式 插件包也给你们准备好了(你们无需去下载啦),对照此篇博客配置即可: 链接:https://pan.baidu.com/s/1VKXJ74W3s6RZHL-3YHlaEA 密码:z411 首先说一下idea引入外部插件的方式: 1.打开settings配置面板 2.选择plugins-->install pluginfrom…
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD…
微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者配置的URL和Token 来找到第三方服务器,并以XML形式向第三方服务器发送消息. (3)第三方服务器获取这些消息之后,需要按照微信服务器传过来的XML的语言进行解析,获取到信息之后,根据用户的需求,提供服务,然后封装成XML数据,传回到微信服务器上去. (4)微信服务器解析这些XML,并把相应的…
注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或  PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 第一篇 中,我们介绍了 XHProf .而在 第二篇 中,我们深入研究了 XHGui UI, 现在最后一篇,让我们把 XHProf /XHGui 的知识用到工作中! 性能调优 不用运行的代码才是绝好的代码.其他只是好的代码.所以,性能调优时,最好的选择是首先确保运行尽可能少的代码. OpCode 缓存 首先…