C# 排队<;字节>;对流

C# 排队<;字节>;对流,c#,generics,stream,queue,byte,C#,Generics,Stream,Queue,Byte,C#中的队列和流有什么区别吗?我根本不是C#(甚至是.NET)的人,希望有人能提供更详细的答案,但是 我认为很明显,Queue和Stream是完全不同的。我理解你为什么会问,但即使是快速浏览一下API,也会发现很多不同之处 这些区别中最重要的是队列是集合包的一部分,Stream是IO 编辑型队列可能更适用,如其他海报所示 问题应该是:除了提供某种检索字节的接口之外,它们还有什么共同之处吗 队列queue只是一个字节的FIFO队列,主要功能是一次将一个字节值排队或出列-没有随机访问。您通常将队

C#中的队列和流有什么区别吗?

我根本不是C#(甚至是.NET)的人,希望有人能提供更详细的答案,但是

我认为很明显,
Queue
Stream
是完全不同的。我理解你为什么会问,但即使是快速浏览一下API,也会发现很多不同之处


这些区别中最重要的是队列是集合包的一部分,
Stream
IO

编辑型队列可能更适用,如其他海报所示

问题应该是:除了提供某种检索字节的接口之外,它们还有什么共同之处吗

队列
queue
只是一个字节的FIFO队列,主要功能是一次将一个字节值排队或出列-没有随机访问。您通常将队列用作数据结构或算法的一部分(即,在树中进行广度优先搜索)。队列中的所有数据都存储在内存中


另一方面,流是字节流的抽象表示,通常从文件、内存、网络或其他源获取-始终存在底层源或目标。此源不必位于内存中,也就是说,网络或文件流将允许您读取或写入文件或网络-因此流是从a到B获取字节的主要方式。

队列必须存储字节,而流则不能。差别很大。

Hans,在.NET中,裸流只处理
字节[]
。您需要一个格式化程序/写入程序来存储其他内容。是的,队列必须存储内容的副作用。我只是想强调最大的区别,太多了。顺便说一句:
Stream
不是很好吗?