具体来说,如果
Encoding.UTF8.GetByteCount(stringA) + Encoding.UTF8.GetByteCount(stringB) = Encoding.UTF8.GetByteCount(stringA + stringB).
总是如此。 (一些快速测试表明如此,但我不确定它是否在所有情况下都是真的。)
答案 0 :(得分:1)
是的,确实如此。存储stringA + stringB
所需的字节数与stringA
所需的字节数相同,加上stringB
所需的字节数。这是因为在.NET中字符串不是以空值终止的。
如果它们以空值终止,那么存储stringA + stringB
所需的字节数将比stringA
+ stringB
所需的字节所需的字节少一个字节因为每个字符串有一个空终止符,所以在第一种情况下,首先组合字符串,删除第一个字符串的空终止符,而在第二个示例中,还添加两个空字节。