建议1:正确操作字符串

如何规避使用不慎,带来的额外的性能开销:

1.确保尽量少的装箱

在自己编写的代码中,应当尽可能地避免编写不必要的装箱代码。

装箱操作会带来性能损耗的原因:

a.首先,会为值类型在托管堆中分配内存。除了值类型本身所分配的内存外,内存总量还要加上类型对象指针和同步块索引所占的内存。

b.将值类型的值赋值到新分配的堆内存中。

c.返回已经成为引用类型的对象的地址。

2.避免分配额外的内存空间

对CLR来说,string对象是个很特殊的对象,它一旦被赋值就不可改变。在运行时调用System.String类中的任何方法或进行任何运算(如“=”、“+”等),都会在内存中创建一个新的字符串对象,要为该新对象分配新的内存空间。

尽量使用StringBuilder进行字符串操作,或者使用string.Format方法进行字符串操作(string.Format方法内部使用StringBuilder进行字符串格式化)。

原文地址:https://www.cnblogs.com/candyzkn/p/3964855.html