2011-03-24 32 views

回答

0

我不是一個C#(甚至.NET)的人在所有,希望有人將提供更詳細的答案,但..

我認爲它很清楚,QueueStream有很大的不同。我明白你會問,但即使快速瀏覽一下API也會有很多不同之處。

http://msdn.microsoft.com/en-us/library/system.io.stream.aspx
http://msdn.microsoft.com/en-us/library/system.collections.queue.aspx

至上這些差異之間的是一個隊列是類別包的一部分,StreamIO

EDIT的一部分 - 輸入隊列可能更適用,如圖與其他海報
http://msdn.microsoft.com/en-us/library/7977ey2c.aspx

9

的問題應該是:他們甚至有什麼共同點,除了兩者都提供某種接口來檢索字節?

隊列Queue<byte>就是這樣,一個FIFO隊列的字節,主要功能是一次入隊或出隊一個字節值 - 沒有隨機存取。您通常使用隊列作爲數據結構或算法的一部分(即廣度在樹上第一搜索浮現在腦海)。隊列中的所有數據都存儲在內存中。

另一方面,流是通常從文件,內存,網絡或其他源獲取的字節流的抽象表示 - 總是存在基礎源或目標。此源不必位於內存中,即網絡或文件流將允許您讀取或寫入到文件或網絡 - 這樣一個流獲取某個字節B.

1

的主要途徑隊列擁有門店字節流沒有按「T。巨大差距。

+0

漢斯,在.NET裸流只涉及'字節[]'。你需要一個格式化器/寫入器來存儲別的東西。 – 2011-03-24 11:06:04

+2

燁,不必存儲東西隊列的副作用。我只是想強調最大的區別,有太多。 BTW:不會流''是非常不錯的? – 2011-03-24 12:34:46