バイナリ ファイルを ASCII ファイルに変換するアプリがあります。プロファイラーを使用すると、BinaryWriter.Write(wchar[]) から呼び出される Encoding.GetBytes() の実行に 25% の時間を費やしていることがわかりました。私はこれに似た多くの構造を持っているので、それは完全に正しいです:
m_writer.Write("some fancy long text".ToCharArray());
このエンコーディング変換を回避する賢いアイデアはありますか?
私は今、1つのアイデアはこれに似た何かをすることです:
const byte[] SOME_FANCY_LONG_TEXT = Encoding.ASCII.GetBytes("some fancy ...");
// ... and later
m_writer.Write(SOME_FANCY_LONG_TEXT);
しかし、手動で行うには、そのようなエントリが多数必要です。