C#反推为什么string是引用类型

  为什么string是引用类型?C#里面众所周知,有两大类型,分别引用类型值类型引用类型有类(class)和字符串(string),而值类型有int、double、char、bool等等。

  分析string为什么是引用类型之前,要分析一下,int整型bool布尔值为什么是值类型。int和bool这俩类型的值是已经存在写死在某个地方了。例如bool只有true和false两个值,int的值段 -2147483648到2147483647。所以可以说值类型的内容已经写死了。比如你用int类型声明一个字段,赋值的时候你只能赋值 -2147483648到2147483647的数字,不然就会报系统错误。字符(char)也是,字符是把计算机的各种单字符写好了存放在一个地方,举例26个字母,0-9都是字符。然而字符串是由字符串组合一起形成的。因为字符串是字符组合而成的,内容是值类型组合成,说明这个内容无法写死,可以用各种不同的字符组合成不同的新的字符串。所以字符串不可能是值类型值类型的内容根本无法满足字符串的多变。(因为之前稍微看了一本《30天自制系统》里面第一步就是把二进制的内容复制到一个文件里,我猜里面放的就是所需要的固定值。这些是反推,代码有点让我回想到unsafe的位置,自己理论知识太low,搁置这。对计算机了解不够深。这里只是方便一些新手知道)

    string  str="abc";char a='a';char b='b';char c='c';
原文地址:https://www.cnblogs.com/vilva/p/13160399.html