シリアル化および逆シリアル化するストリーム内のシリアル化されたオブジェクトの量を取得しようとしています。これを実行して、1 とその量の間のランダムな値を作成したいと考えています。
これは可能ですか?
現在、私のコードは次のとおりです。
Random rnd = new Random();
Stream stream = new FileStream("File.dat", FileMode.Open, FileAccess.Read, FileShare.Read);
int randomNumber = rnd.Next(1, (int)stream.Length);
ただし、stream.Length
値が 1000 を超えているため、これは機能しませんが、ファイルには約 3 つのシリアル化されたオブジェクトがあります。
私はBinaryFormatter
シリアライズを行うために使用しています。
EDIT:ファイルにシリアル化されたオブジェクトは多次元配列(int [、])であり、それらには数値が格納されていることを追加する必要があります。最初のオブジェクトの番号は 1、2 番目のオブジェクトの番号は 2 などです。よろしくお願いします。