C#ではByteの数値を条件にしてWaveファイルヘッダのフォーマット情報を確認

Waveファイルの最初の36バイトは数バイトごとに固定の役割があり、すべてのWaveファイルで同じ構成だそうです。その次のバイトは、ファイルによって役割が異なりますので判定が必要です。固定されている最初の36バイトをbyte配列に取り込むと、[0]から[3]はRIFFの4文字が入っています。また、[8]から[11]までは、WAVEの4文字です。
VisualBasicのプログラムではこれらをCharに取り込んで文字で表示しましたが、C#ではどうやるかわかりませんでした。(追記:後日System.Text.ASCIIEncodingを使用してアスキー文字列に変換するサンプルを発見。)
そこで、[0]が82だったらRIFFで、[8]が87だったらWAVEと判断する方法をとってみました。

byte[] headerBytes = new byte[36];//[0]から[35]までの36個の配列。
string path = openFileDialog1.FileName;
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite); //FileAccess列挙体
BinaryReader br = new BinaryReader(fs); //System.IO.BinaryReader.BinaryReader(Stream input)
try
{
br.BaseStream.Position = 0;
for (int loopCounter = 0; loopCounter < 35; loopCounter++) //間違って<36にするとループが終わらなくなる。コンパイルエラーも出ない。
{
label1.Text = "Byte読み込みループの中"; //ループ処理の中にいることを確認するために。
headerBytes[loopCounter] = br.ReadByte();
}
label1.Text = "Byte読み込みループ終わり"; //ループ処理の外に出たことを確認するために。

if (headerBytes[0] == 82) //[0]が82だったらRだから。
{
label2.Text = "RIFF";
}
else
{
label2.Text = "RIFFじゃない";
}

if (headerBytes[8] == 87) //[8]が87だったらWだから。
{
label3.Text = "WAVE";
}
else
{
label3.Text = "WAVEじゃない";
}
      }
catch { }

追記 "C# ファイル入出力"の参考になる記事

@IT > Insider.NET > C#プログラミングTips > ファイル入出力の基礎にBinaryReader.ReadByte()のサンプルあり。
BinaryReader.ReadByte()は、BinaryReader型オブジェクトから1バイトずつ読み込む。