C# 中“流中的位置”是什么意思?

Xri*_*ris 2 c#

我很难理解“流的位置”这个词。我的问题在某种程度上与流方法Seek()的概念有关;我对这个方法的作用有点困惑,他们说它的目的是将流的位置设置为给定值,但它的名称描述的是查找操作而不是设置操作。有谁清楚地理解这两个词的含义以及它们如何协同工作?谢谢

Jon*_*eet 5

将文件视为字节序列,将流视为该序列的视图,并用光标标记当前位置 - 因此,当您读取数据时,光标会前进。该Position属性只是该光标的位置。因此,当您打开流时,它通常为 0,并且当您读取时,它会增加。对于可搜索的流,您可以使用以下命令“倒回”到流的开头

stream.Position = 0;
Run Code Online (Sandbox Code Playgroud)

或者可以使用以下命令跳过 10 个字节:

stream.Position += 10;
Run Code Online (Sandbox Code Playgroud)

ETC。