具体的には、
Encoding.UTF8.GetByteCount(stringA) + Encoding.UTF8.GetByteCount(stringB) = Encoding.UTF8.GetByteCount(stringA + stringB).
常に真実です。(いくつかの簡単なテストはそう示していますが、すべての場合に当てはまるかどうかはわかりません)。
具体的には、
Encoding.UTF8.GetByteCount(stringA) + Encoding.UTF8.GetByteCount(stringB) = Encoding.UTF8.GetByteCount(stringA + stringB).
常に真実です。(いくつかの簡単なテストはそう示していますが、すべての場合に当てはまるかどうかはわかりません)。
はい、そうです。保存に必要なバイト数は、に必要なバイト数にに必要なバイト数を加えたものstringA + stringB
と同じです。これは、.NETでは文字列がnullで終了していないためです。stringA
stringB
それらがnullで終了している場合、文字列ごとに1つのnullターミネータがあるため、格納に必要なバイト数は、必要なバイト数+にstringA + stringB
必要なバイト数よりも1バイト少なくなります。最初に文字列を削除し、最初の文字列のnullターミネータを削除しますが、2番目の例では、2つのnullバイトも追加します。stringA
stringB