.NET は、データを読み書きするためのさまざまなオブジェクトを提供します。基本的に、異なるストリームに書き込みまたは読み取る DataWriters と DataReader があります。ストリームは、データ ソース (ファイルなど) からアプリケーション メモリ (またはその逆) へのデータ フローを表します。
定義された方向でストリームにアクセスするには、リーダーまたはライターを使用できます。BinaryReaderは、データ リーダーの一例です。ストリームからバイナリデータを読み取ることになっています。ストリームは通常、 と呼ばれる基本クラスから継承しStreamます。さまざまなデータ ソースを表すさまざまな種類のストリームがあります。たとえば、FileStreamは HDD 上のファイルにデータをMemoryStream読み書きするのに対し、 は RAM にデータを読み書きします。したがって、ストリームの実装は、データが格納されている場所を記述します。
DataReaders または DataWriters は、データの格納方法を記述します。たとえば、 yourBinaryReaderはバイトシーケンスをTextReader読み取りますが、 a は指定されたエンコーディングでテキストを読み取ります。ただし、どちらも同じストリームで使用できます。
質問に戻るには:BinaryReaderストリームからバイナリ データを読み取ります。BaseStreamプロパティは、リーダーがデータを読み取るストリームのインスタンスを返します。BinaryReaderこれが、ストリーム インスタンスで初期化する必要がある理由です。どこからともなくバイナリ データを読み取るようにコンピュータに指示することはできません。;)