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

例如:

稍不留神产生代码垃圾using System;
稍不留神产生代码垃圾
稍不留神产生代码垃圾
namespace testConstruct
}

 用ILDASM来看生成的IL结果:
稍不留神产生代码垃圾

        可以看到,三个构造类都重复初始化了几个变量,造成编译后程序集大小的增加。
就三个构造函数已经占了40+40+40=120 Bytes.

如果稍微修改一下,如下面所示:
稍不留神产生代码垃圾using System;
稍不留神产生代码垃圾
稍不留神产生代码垃圾
namespace testConstruct


再用ILDASM来看产生的IL结果:
稍不留神产生代码垃圾

可见生成的程序集大小确实减少了不少。现在三个构造函数才占了40+7+7=54 Bytes.

就三个构造函数的代码而言,大小缩减了一半不止。

相关文章:

  • 2021-05-23
  • 2021-09-17
  • 2022-02-08
  • 2021-08-24
  • 2022-12-23
  • 2022-01-22
  • 2021-05-17
  • 2021-08-29
猜你喜欢
  • 2021-08-25
  • 2021-05-23
  • 2022-12-23
  • 2021-08-05
  • 2021-09-11
  • 2022-12-23
  • 2021-10-12
相关资源
相似解决方案