C#字符串有长度限制吗?

8
2个回答

11

字符串长度不能超过231个字符,因为String.Length是一个32位整数。

字符串的长度还受可用内存的限制。


5
在微软CLR中,最大长度实际上将是2 ** 30个字符,因为CLR强制实施每个对象的2GB硬限制,并且每个UTF-16字符占用2个字节。 (不确定其他实现,例如Mono,是否也会施加此限制。) - LukeH

0

string.Length 是 int 类型,因此字符串可以包含 Int.MaxInt 字节 - 2,147,483,647


1
这是一个糟糕逻辑的例子,因为虽然String.Length返回一个整数,而整数的最大值是2,147,483,647,但是假设一个字符串可以存储与整数相同数量的字符是错误的,这种做法在多个层面上都是不正确的。 - WonderWorker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接