草庐IT

underlyingStream

全部标签

C#:实现 NetworkStream.Peek?

目前,C#中没有NetworkStream.Peek方法。实现这种功能与NetworkStream.ReadByte类似的方法的最佳方法是什么,只是返回的byte实际上并未从Stream中删除? 最佳答案 我遇到了同样的“查看魔数(MagicNumber)然后决定将流发送到哪个流处理器”的要求,不幸的是我无法摆脱这个问题-正如对Aaronaught的回答的评论中所建议的那样-通过传递已经在单独的参数中将字节消耗到流处理方法中,因为这些方法是给定的,他们期望System.IO.Stream而不是其他。我通过创建一个或多或少通用的包装流

c# - 可以不关闭 StreamReader/StreamWriter 以保持底层流打开吗?

我有一个类,它本质上包装了一个用于读/写的Stream,但该流应该由该类的使用者管理。为了方便使用,我使用StreamReader和StreamWriter类对流进行I/O操作。通常我会将读取器和写入器包装在usingblock中,但我想避免关闭读取器和写入器,因为这样做也会关闭底层流,我必须保持它打开。如果我希望底层Stream由调用者管理,那么不关闭StreamReader/StreamWriter在内存/资源管理方面是否安全?当在其他地方显式关闭流时,读取器和写入器是否会被垃圾回收?publicclassWrapper{privateStream_underlyingStream