在c#中,string name="张三" 和 string name=new string("张三") 有什么区别。 占得内存一样吗?

大哥哪位知道,在c#中,string name="张三" 和 string name=new string("张三") 有什么区别。 占得内存一样吗?
最新回答
厌恶点

2024-09-15 02:05:45

一样的, string 在C#中是引用类型,每次对string赋值 系统都会重新建立个string 对象 string name="张三" 等同于string name=new string("张三")

还有 string 是引用类型 不管什么时候都会保存在 托管堆中,但它和别的引用类型还有点差别,那就是我上面所说的 每次赋值系统会自动的为它创建一个新对象,而不是单纯的引用。所以在使用string时候不用去实例化它的。
泼得千树泪

2024-09-15 07:08:57

不一样
数据放置的区域不一样
前面一个数据空间由系统分配,放在栈区
后面一个数据空间由程序员分配,在堆区
惹我细心溺屎身亡

2024-09-15 10:39:50

前者是定义一个变量,后者是实例化一个对象,也就是一个是放到堆中,一个放到栈中,运行速度不一样,一般不用后者!
我也在学习中,大家一起研究下吧!!
一身正气结果漏气

2024-09-15 10:42:49

一样的吧,真没有细研究过。一般都中第一种方式,简单快捷
憇憇圏

2024-09-15 05:29:18

一样