ZKX's LAB

net中String是引用类型还是值类型 string是引用类型还是值类型

2020-07-24知识13

C#string 到底是引用类型还是值类型 String是引用类型。但是它一经生成不可修改,修改String会导致新建一个地址来存放,像值类型一样。String被编译器做了特殊处理。一旦创建了一个string,在managed heap 上为他分配了一块连续的内存空间,我们将不能以任何方式对这个string进行修改使之变长、变短、改变格式。所有对这个string进行各项操作(比如调用ToUpper获得大写格式的string)而返回的string,实际上另一个重新创建的string,其本身并不会产生任何变化。如满意,请采纳,谢谢。为什么string是引用类型 在程序里,这种字符串都是事先就分配地址的,不像int一样执行到a=5这一句时才分配,执行到b=\"hello\"时只是把hello的地址给了bstring 是引用类型还是值类型 在Java中,数组和String字符串都不是基本数据类型,它们被当作类来处理,是引用数据类型。net中String是引用类型还是值类型 是引用值类型。它是特殊的引用类型,使用起来有点像值类型。但是它可以通过\"new\"来创建实例,例如string aa=new string(\"test sting\".ToCharArray());等同于string aa=\"test string;String是值类型还是引用类型 在定义String类型的变量时,有两种方式:1、String name=\"tom;这种定义方式就是值类型2、String name=new String(\"tom\");这种就按照引用类型来做C#字符串string是值类型还是引用类型,在C#中数据类型分为两大类,值类型ValueTye、应用类型Oject。而字符串类型trig作为一种特殊的存在,很多时候容易让人对其类型产生错觉C#中 String 到底是引用类型还是值类型? 很疑惑为什么书上说的都自相矛盾啊! 这个讨论已经很多了,你随便搜索以下C# string 引用类型 值类型就能找到,公认的说法就是string是只读的引用类型,外部表现接近值类型,它与一般的引用类型是不同的,普通的写法不用写new的原因是因为c#默认已经做了new处理,这里是java的,与C#基本一样http://www.blogjava.net/min-water/archive/2010/10/16/335326.htmlhttp://blog.csdn.net/lijinlin/article/details/6093629http://xiachanghao1990.blog.163.com/blog/static/4869602420114632835414/string是值类型还是引用类型 这个有点说不清了,拿C#来说吧,string类型和StringBuilder都可以为空,但string是引用类型,StringBuilder是值类型。

#引用类型#c##string

随机阅读

qrcode
访问手机版