接着上篇继续扯,其实语法糖也不是什么坏事,第一个就是吃不吃随你,第二个就是最好要知道这些糖在底层都做了些什么,不过有一点叫眼见为实,这样才能安心的使用,一口气上五楼,不费劲。一:字符串嵌入值 我想String.Format方法就是化成灰大家都认识,比如下面代码:1 class Bird...
今天没事,就下了个vs2015 preview,前段时间园子里面也在热炒这些新的语法糖,这里我们就来看看到底都会生成些什么样的IL?一:自动初始化属性 确实这个比之前的版本简化了一下,不过你肯定很好奇,到底编译器给我们做了哪些东西呢?1 class Student2 {3 ...
介绍平常在多线程开发中,总避免不了线程同步。这次就对net多线程中的锁系统做个简单描述。目录一:lock、Monitor 1:基础。 2: 作用域。 3:字符串锁。二:mutex三:Semaphore四:总结一:lock、Monitor1:基础Lock是Monitor语法糖简化写法。Lock在...
分类:
编程语言 时间:
2014-12-21 23:33:12
阅读次数:
281
通过定义枚举,可以保证需要使用该枚举的地方,参数一定是该枚举的成员,同时增强代码的可读性。enum不过是Java语言为我们提供的一个语法糖[1](什么是语法糖?),方便我们定义常量。通过enum关键字定义的实际上是一个类,只不过编译器会保证这个类继承自Enum,并且会给这个类自动的加入一些成员。...
分类:
编程语言 时间:
2014-12-20 18:19:15
阅读次数:
200
#VarArgs ##VarArgs简述 只需要明确一点即可,java方法的变长参数只是语法糖,其本质上还是将变长的实际参数 varargs 包装为一个数组。 所以 Object[] objs 与 Object... objs 被看作是相同的签名,在源码级别是不...
分类:
编程语言 时间:
2014-12-19 19:25:15
阅读次数:
185
分析了这两种用法,真想吐槽两句,这两个特性确实有实际需要,但客观来说,现有标准足够用,而且带来的代价也非常大,又给C++复杂的语法糖重重的抹了一笔!!!
一、继承构造函数
继承构造函数的引入原因:如果基类的构造函数很多,那么子类的构造函数想要实现同样多的构造接口,必须一一调用基类的构造函数,有点麻烦
于是乎:C++11引入继承构造函数
class _A
{
public:
...
分类:
编程语言 时间:
2014-12-11 22:24:39
阅读次数:
246
9.3.2 用 IDisposable 接口清理资源
我们已经使用过几种实现了 IDisposable 接口的类型,比如,Graphics 和 SolidBrush。我们想使代码尽可能易于理解,因此,当使用完对象时,我们就显式调用 Dispose 方法。
C# 中包含了语法糖,以 using 语句的形式,保证了即使语句体内抛出异常,也能调用 Dispose;F# 有相似的结构,用 use...
分类:
其他好文 时间:
2014-12-11 15:52:46
阅读次数:
142
前段在玩协程时跟着libtask的作者Russ Cox转到Golang了,一堆重量级大牛们想出来的东西就是不同,思路非常特别,和常用的差别有点大,
但非常注重实用,减少了一堆的语法糖后,让人重新思考,开发语言本来应当是怎么样?如果用来做服务端开发的话,真的是很不错的东西。
在一个练习中,我设计了个发送Oracle数据库备份任务的简单场景。通过 发送备份任务到各个客户端,来练习Go...
分类:
其他好文 时间:
2014-12-07 17:49:07
阅读次数:
269
【C# 语法糖】一, 扩展方法 1. 对某个类功能上的扩展 2. 特点: 使用方便,可以在不修改原代码的基础上进行扩展。 参照 linq,linq 就是一系列的扩展方法 3. 语法: 非泛型静态类,静态方法, 第一个参数加 this,表示是对该类型的扩展 4. 代码 public s...
解释器的本质 我们换一种语言来写解释器的时候,其实本质和scheme写scheme是一样的,即将输入的一串字符串作为源程序执行而语法和语义均由自己预先设计好并严格执行。 这里我们采用python 来实现我们的第二版的scheme解释器,首先python支持的列表推导式、lambda、模式匹配等语法糖...
分类:
编程语言 时间:
2014-11-23 01:54:09
阅读次数:
1011