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