gpt4 book ai didi

c# - 排队字节数组问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:47 24 4
gpt4 key购买 nike

最简单的例子。我正在尝试创建这样的字节数组队列:

        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]);

但实际上我的三个 block 都带有“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]);

关于c# - 排队字节数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com