2013-04-25 60 views
-1

这是遵循从昨天的question 了,我有2个队列,它们包含5个元素,他们使用类似以下出队的阶级和个人价值观的C#

player2.Enqueue(chuckcards[i]); 
排队每个称为玩家1和玩家2

查卡是一个有几个不同的数据成员,包括6个整数和一个字符串的类。现在,我希望将一个项目出列,并将值赋给一个标签(每个数据成员为多个),并将该字符串赋给一个图片框(我不需要帮助)。但我想知道我是如何从出列值中获取值的。我还希望能够对其他队员排队重新排队。因此,我可能会使用峰值操作来获取值,如果结果成功,则将其从队列1的末尾移到队列2上。

希望这是明确的。

任何帮助,将不胜感激。我已经四处搜寻,但没有找到真正的答案。

+0

'var card = player2.dequeue();'?你可能想检查'player2.Count> 0'。如果你Peek()空的'Queue',你会得到一个异常。 “Requeue”与Enqueue(card)相同。 – Corak 2013-04-25 14:30:20

+0

哦,好的,谢谢你的提示。我会执行某种形式的检查:)我不认为当队列为空时游戏会继续。 – Yop 2013-04-25 14:34:58

回答

1
Queue<Foo> firstQueue = new Queue<Foo>(); 
Queue<Foo> secondQueue = new Queue<Foo>(); 
//todo populate 
var item = firstQueue.Dequeue(); 
item.DoStuff(); 
secondQueue.Enqueue(item); 
+0

谢谢你的回应,但肯定该var只会存储一个值?我在班上有几个数据成员?我可以说一次打一个物品吗?例如'var item1 = firstQueue.Dequeue(item1);'?或者这是不可能的 – Yop 2013-04-25 14:32:54

+1

@Yop返回的一个项目是保存所有数据的类。然后,您可以自由访问该项目的所有成员,以获取所需数据的各个方面。 '出队'不需要参数;你不能给它任何东西,我也不能看到你期望改变,因为你通过什么。 – Servy 2013-04-25 14:33:44

+0

我想我得到你在说什么。我现在要尝试并实施它,如果可以,我会问一些问题。 – Yop 2013-04-25 14:36:33