C# string的容量多大

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:36:20
string容量有多大,如果让它放数字,那数字长度能有多长?有比string大的吗?那会是什么?

有人说:一个字符串可包含从 0 到将近 20 亿 (2 ^ 31) 个 Unicode 字符.

也有人说:

在.net中 string实际上是已栈的形式存储在内存中,所以在理论上string类型的大小与你的内存大小一致。但在实际使用中还是有所限制的,根据.net版本不同限制也有细微差别。
不过一般来说只要你不是用一个字符串来装载整个应用程序那都会够用

前面是网上抄了的,我自己补充一点,我们定义一个string 变量 string myname =“呵呵呵呵呵呵”; 比不是吧 呵呵呵呵呵呵 存进没有那么中,myname 只是存放一个内存地址 就是存放呵呵呵呵呵呵所有内存的首地址,跟c语言的指针差不多

string是个固定字节的存储的

类似于C++的字符数组指针

它指向内存(包括虚拟内存)的首地址 并以'\0' 结尾。

但在C#中受限于托管性语言的翻译机制

如果你定义的字符串字节数大于2^31-1时,会发生内存溢出的错误。

嗯~就这么回事

从语法来说,没有限制。
从计算机来说,用虚拟存储,也无所谓,只要有磁盘空间就可以。

实际上,计算机有字长限制,整数有极限,所以声明数组时下标就有限制。当然最终取决于编译器的处理方式。

官方数字我不记得了,我只记得好像看到那个数字还是很惊人的。就是说一般情况下,还没达到那么大的容量已经把你内存都耗尽了。看楼下有没有具体数字。