C# 排队<;字节>;对流
C#中的队列和流有什么区别吗?我根本不是C#(甚至是.NET)的人,希望有人能提供更详细的答案,但是 我认为很明显,C# 排队<;字节>;对流,c#,generics,stream,queue,byte,C#,Generics,Stream,Queue,Byte,C#中的队列和流有什么区别吗?我根本不是C#(甚至是.NET)的人,希望有人能提供更详细的答案,但是 我认为很明显,Queue和Stream是完全不同的。我理解你为什么会问,但即使是快速浏览一下API,也会发现很多不同之处 这些区别中最重要的是队列是集合包的一部分,Stream是IO 编辑型队列可能更适用,如其他海报所示 问题应该是:除了提供某种检索字节的接口之外,它们还有什么共同之处吗 队列queue只是一个字节的FIFO队列,主要功能是一次将一个字节值排队或出列-没有随机访问。您通常将队
Queue
和Stream
是完全不同的。我理解你为什么会问,但即使是快速浏览一下API,也会发现很多不同之处
这些区别中最重要的是队列是集合包的一部分,
Stream
是IO
编辑型队列可能更适用,如其他海报所示问题应该是:除了提供某种检索字节的接口之外,它们还有什么共同之处吗 队列
queue
只是一个字节的FIFO队列,主要功能是一次将一个字节值排队或出列-没有随机访问。您通常将队列用作数据结构或算法的一部分(即,在树中进行广度优先搜索)。队列中的所有数据都存储在内存中
另一方面,流是字节流的抽象表示,通常从文件、内存、网络或其他源获取-始终存在底层源或目标。此源不必位于内存中,也就是说,网络或文件流将允许您读取或写入文件或网络-因此流是从a到B获取字节的主要方式。队列必须存储字节,而流则不能。差别很大。Hans,在.NET中,裸流只处理
字节[]
。您需要一个格式化程序/写入程序来存储其他内容。是的,队列必须存储内容的副作用。我只是想强调最大的区别,太多了。顺便说一句:Stream
不是很好吗?