1

具体来说,如果

Encoding.UTF8.GetByteCount(stringA) + Encoding.UTF8.GetByteCount(stringB) = Encoding.UTF8.GetByteCount(stringA + stringB).

总是正确的。(一些快速测试表明如此,但我不确定它是否在所有情况下都是如此)。

4

1 回答 1

1

是的。存储stringA + stringB所需的字节数与 所需的字节数stringA加上 所需的字节数相同stringB。这是因为字符串在 .NET 中不是以 null 结尾的。

如果它们是空终止的,那么存储stringA + stringB所需的字节数将比所需的字节少一个字节stringA+ 所需的字节stringB,因为每个字符串都有一个空终止符,所以在第一种情况下你结合首先是字符串,删除第一个字符串的空终止符,而在第二个示例中,您也添加了两个空字节。

于 2013-03-08T14:29:26.507 回答