[英]Queue-ing Byte arrays trouble
最簡單的例子。 我正在嘗試像這樣創建字節數組隊列:
Queue<Byte[]> q = new Queue<Byte[]>();
Byte[] block = new Byte[1];
block[0] = 1;
q.Enqueue(block);
block[0] = 2;
q.Enqueue(block);
block[0] = 3;
q.Enqueue(block);
byte[] block1 = q.Dequeue();
Console.WriteLine(block1[0]);
block1 = q.Dequeue();
Console.WriteLine(block1[0]);
block1 = q.Dequeue();
Console.WriteLine(block1[0]);
但是實際上我所有三個塊都帶有“ 3”,但是期望的是“ 1”,“ 2”,“ 3”。 有什么想法我做錯了嗎?
您每次都需要創建一個新數組,否則只需更改同一數組並將其多個引用添加到Queue
Queue<Byte[]> q = new Queue<Byte[]>();
Byte[] block = new Byte[1];
block[0] = 1;
q.Enqueue(block);
// Create a new array
block = new Byte[1];
block[0] = 2;
q.Enqueue(block);
// Create a new array
block = new Byte[1];
block[0] = 3;
q.Enqueue(block);
byte[] block1 = q.Dequeue();
Console.WriteLine(block1[0]);
block1 = q.Dequeue();
Console.WriteLine(block1[0]);
block1 = q.Dequeue();
Console.WriteLine(block1[0]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.