バイナリでシフトJIS

バイナリファイルに対して文字列をシフトJISで出力したい場合*1があるので、サンプルを作ってみました。
ミソはEncoding.GetBytes()を使うだけですがね…。

using System;
using System.Text;
using System.IO;

namespace ShiftJis出力
{
    class Program
    {
        const string 出力データファイル名 = ""; // TODO

        static void Main(string[] args)
        {
            ジャニーズクラス[] 少年隊 =
            {
                new ジャニーズクラス("錦織一清", new DateTime(1965, 5, 22)),
                new ジャニーズクラス("植草克秀", new DateTime(1966, 7, 24)),
                new ジャニーズクラス("東山紀之", new DateTime(1966, 9, 30)),
            };

            using (BinaryWriter writer
                       = new BinaryWriter(File.Open(出力データファイル名,
                                                    FileMode.Create)))
            {
                Encoding encoding = Encoding.GetEncoding("Shift-JIS");
                foreach (ジャニーズクラス ジャニーズ in 少年隊)
                {
                    writer.Write(encoding.GetBytes(ジャニーズ.名前));
                    writer.Write(ジャニーズ.生年月日.Ticks);
                }
            }
        }
    }

    class ジャニーズクラス
    {
        internal string   名前;
        internal DateTime 生年月日;

        internal ジャニーズクラス(string 名前, DateTime 生年月日)
        {
            this.名前     = 名前;
            this.生年月日 = 生年月日;
        }
    }
}

*1:ファイルをやり取りする相手がWindows機でないとか。