UTF-8 をバイト配列に書き込みたいというパフォーマンスに敏感なシナリオがあります。
.NET StringBuilder クラスをざっと見てみると、UTF-16 をネイティブにビルドするだけだと思います。Encoding.UTF8.GetBytes(str) は、私が使いたくない余分な割り当てと余分なクロック サイクルを意味します。
ネイティブの UTF-8 ライターはありますか?
MemoryStreamは、バイトの StringBuilder のようなものです。これを使用して、バイトのシーケンスを繰り返し追加することにより、バイトのシーケンスを効率的に作成できます。ただし、文字列を追加するメソッドはありません。最初に各文字列をバイト配列に変換することを避けるために、変換を処理するStreamWriterでストリームをラップできます。