.NET 性能提示

术语 性能 通常是指程序的执行速度。 有时,可以遵循源代码中的某些基本规则来提高执行速度。 在某些程序中,请务必仔细检查代码并使用探查器来确保它尽可能快地运行。 在其他程序中,无需执行此类优化,因为代码在编写时运行速度明显快。 本文列出了一些常见领域,其中性能可能会受到影响,以及改进性能的提示,以及指向其他性能主题的链接。 有关规划和度量性能的详细信息,请参阅 性能

装箱和取消装箱

在需要对值类型进行频繁装箱的情况下,最好避免使用它们,例如在非泛型集合类(例如 System.Collections.ArrayList)中。 可通过使用泛型集合(例如 System.Collections.Generic.List<T>)来避免装箱值类型。 装箱和取消装箱过程需要进行大量的计算。 对值类型进行装箱时,必须创建一个全新的对象。 这可能比简单的引用分配要长 20 倍时间。 取消装箱的过程所需时间可达赋值操作的四倍。 有关详细信息,请参阅 装箱和拆箱

字符串

连接大量字符串变量(例如在紧密的循环中)时,请使用 System.Text.StringBuilder 而不是 C# + 连接运算符 或 Visual Basic 连接运算符。 有关详细信息,请参阅如何在 Visual Basic 中连接多个字符串和串联运算符。

终结器

不应使用空终结器。 如果类包含终结器,会在 Finalize 队列中创建一个条目。 调用终结器时,会调用垃圾回收器来处理该队列。 如果终结器为空,只会导致性能损失。 有关详细信息,请参阅终结器和对象生存期:如何创建和销毁对象

其他资源

另请参阅