优势/劣势 MemoryStream.Position 或 MemoryStream.Seek [重复]
Posted
技术标签:
【中文标题】优势/劣势 MemoryStream.Position 或 MemoryStream.Seek [重复]【英文标题】:Advantage / Disadvantage MemoryStream.Position or MemoryStream.Seek [duplicate] 【发布时间】:2012-04-08 18:01:08 【问题描述】:使用有什么优点或缺点(或区别)
memoryStream.Seek(0, SeekOrigin.Begin);
而不是
memoryStream.Position = 0
【问题讨论】:
如果 Begin 位于流的开头,这些不一样吗?不能开始在别处吗?这是我的一个问题:MemoryStream:SeekOrigin.Begin 什么时候改变? 【参考方案1】:Position
的唯一优点是更短、更直接的符号。
Seek(0, SeekOrigin.Begin)
的优势在于你还拥有SeekOrigin.Current
和SeekOrigin.End
。
但它们在功能上是相同的,请选择您认为最易读的内容。
【讨论】:
【参考方案2】:它们在内部都是相同的,并设置流的位置。见MSDN Stream.Seek。
Position
是绝对的,而 Seek
提供相对/偏移位置。
任何你喜欢的可读性。
Stream.Position += 50;
Stream.Seek(50, SeekOrigin.Current);
【讨论】:
【参考方案3】:已经在这里回答:Stream.Seek(0, SeekOrigin.Begin) or Position = 0
我同意戈迪的观点。也就是说,我认为没有任何真正的理由在您的场景中使用 Seek 方法。
【讨论】:
以上是关于优势/劣势 MemoryStream.Position 或 MemoryStream.Seek [重复]的主要内容,如果未能解决你的问题,请参考以下文章