.NET / C# 中的宽松异常是什么?

问题描述 投票:0回答:1

我在 Reflector 中查看程序集时发现了程序集的 CompilationRelaxations 属性。 此链接表示该属性指定是否:

优化器被授予放宽例外的额外自由度。

什么是宽松异常,以及编译器在给予它们“额外自由度”的情况下会做什么。

c# .net optimization
1个回答
4
投票

这使得编译器在优化方面具有更大的灵活性。

请参阅 CompilationRelaxations 枚举的帮助了解详细信息。

--- 编辑 ---

此时,属性使用了一个枚举,只有 1 个选项:NoStringInterning

来自 MSDN 帮助:

将程序集标记为不需要字符串文字驻留。

在应用程序域中,公共语言运行时创建一个字符串 
每个唯一字符串文字的对象,而不是制作多个副本。
这种行为称为字符串驻留,内部需要构建 
消耗内存资源的辅助表。 

不过,此属性被指定为使用枚举,因此以后可以轻松添加更多选项。 不过,这是目前通过此程序集属性允许的唯一优化。

© www.soinside.com 2019 - 2024. All rights reserved.