一个类型允许定义多个实例构造器,在使用过程中确实是十分方便的。但是,在定义这些构造器时,如果稍不留神,可能就使你的代码编译后产生了好多不必要的垃圾,增加了程序集的大小,也不够简洁。
例如:































用ILDASM来看生成的IL结果:
可以看到,三个构造类都重复初始化了几个变量,造成编译后程序集大小的增加。
就三个构造函数已经占了40+40+40=120 Bytes.
如果稍微修改一下,如下面所示:

































再用ILDASM来看产生的IL结果:
可见生成的程序集大小确实减少了不少。现在三个构造函数才占了40+7+7=54 Bytes.
就三个构造函数的代码而言,大小缩减了一半不止。