C#熟悉Stream的朋友来看一个问题,设置Stream对象的Position有什么实际的意义?

反正经常看到在返回byte[]对象之前,总是把Stream的Position设置为0.不明白这样做的用意.请指点
如果是为了保证数据的完整性,为什么我每次在返回之前把Position设置为0和设置为8,返回的结果没有任何的区别呢?

Position是指流的位置,默认都是从0开始的,单单设置Position值是没有用,需要配合使用Seek()函数,定位到Position
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-02
hult正解。这里补充一下,当Seek第二个参数为System.IO.SeekOrigin.Current时,就是以Position作为参考点的。
第2个回答  2011-08-02
一般都是为了设置当前流的位置为流的开始位置,因为正常情况下我们不会直接到流的中间进行读写操作

也有特例,比如Northwind数据库有个Category表,里面的图像就要先偏移一个指定位置才能读出来(网上可以搜到)
第3个回答  2011-08-02
和你返回后的代码如何使用这个Stream有关.

你说的没有任何区别是指那个地方的区别?或者说你认为应该有却没有的区别
相似回答