我试图在我正在序列化和反序列化的流中获取序列化对象的数量。我想这样做以创建一个介于 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
用来做序列化。
编辑:我应该补充一点,序列化到文件的对象是多维数组(int [,]),并且它们存储了一个数字。第一个对象的编号为 1,第二个对象的编号为 2,依此类推。提前致谢!