摘要: String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。String 的特点:1.它是引用类型,在堆上分配内存 2.运算时会产生一个新的实例 3.String 对象一旦生成不可改变(Immutable) 4 阅读全文
posted @ 2011-07-08 12:45 尐肥羊 阅读(167) 评论(0) 推荐(0) 编辑
摘要: c#引用类型和值类型内存模型求解对于值类型存储 在栈中,引用类型存储在堆中我是理解的class A{}class B{private A a;//A也是存储在堆上的public void Test(){}//栈上指向堆上B的指针->B(这个在堆上),然后B中有个指针指向堆中A所在的地址}情况二:struct JGT{ A a;//JGT被分配在栈上.同样内部有个指向堆中A所在内存的指针}using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;u 阅读全文
posted @ 2011-07-08 12:33 尐肥羊 阅读(155) 评论(0) 推荐(0) 编辑
up