C# 深入与实战编程技巧
1. C# 反射与优化
在 C# 中,虽然简单输出类型名称可能用处不大,但存在各种反射方法来访问信息。例如, Type.GetGenericParameterConstraints() 方法可用于获取应用于泛型参数的约束, Type.BindGenericParameters() 方法能将泛型参数绑定到非泛型类型。
当使用 /optimize+ 标志时,C# 编译器会执行以下优化操作:
- 消除从未被读取的局部变量(即使已对其赋值)。
- 移除无法访问的代码(例如 return 语句之后的代码)。
- 消除空 try 块的 try-catch 结构。
- 将空 try 的 try-finally 结构转换为普通代码。
- 将空 finally 的 try-finally 结构转换为普通代码。
- 进行分支优化。
- 移除将成员变量设置为其默认值的字段初始化器。这是编译器 2.0 版本新增的优化,意味着将整数值设置为 0、布尔值设置为 false 以及引用设置为 null 不会产生性能损失。编译器会依赖 CLR 将这些字段初始化为正确的值。
此外,开启优化时,还会启用 JIT 编译器的优化功能。
超级会员免费看
订阅专栏 解锁全文
1424

被折叠的 条评论
为什么被折叠?



