建议1:正确操作字符串_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 建议1:正确操作字符串

建议1:正确操作字符串

 2014/9/10 19:00:51  编码小匠  程序员俱乐部  我要评论(0)
  • 摘要:如何规避使用不慎,带来的额外的性能开销:1.确保尽量少的装箱在自己编写的代码中,应当尽可能地避免编写不必要的装箱代码。装箱操作会带来性能损耗的原因:a.首先,会为值类型在托管堆中分配内存。除了值类型本身所分配的内存外,内存总量还要加上类型对象指针和同步块索引所占的内存。b.将值类型的值赋值到新分配的堆内存中。c.返回已经成为引用类型的对象的地址。2.避免分配额外的内存空间对CLR来说,string对象是个很特殊的对象,它一旦被赋值就不可改变。在运行时调用System
  • 标签:建议 正确 操作 字符串

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

1.确保尽量少的装箱

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

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

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

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

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

 

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

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

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

上一篇: 建议2:使用默认转型方法 下一篇: 没有下一篇了!
发表评论
用户名: 匿名