在.net中包含三个项目的列表中循环dequeue
本文关键字:列表 循环 dequeue net 包含三 项目 | 更新日期: 2023-09-27 17:51:02
我有一个字符串类型的队列,包含18个元素,但这可能会有所不同。
我的代码:var items = new List<BaseClass>();
Queue<string> queuestr = new Queue<string>();
for (int i = 0; i < 18; i++)
{
queuestr.Enqueue("line - " + i.ToString());
}
for (int i = 0; i < queuestr.Count; i++)
{
items.Add(new queuestrtem
{
Item1 = queuestr.Dequeue(),
Item2 = queuestr.Dequeue(),
Item3 = queuestr.Dequeue(),
});
}
作用:
queuestr每次将一个字符串解队列到Item1
, Item2
, Item3
,最后items
包含从line - 0到line - 14的字符串。由于某些原因,"line - 15"到"line - 18"仍然在队列中
我想要的:
items
包含从"line - 0"到"line - 18"的字符串-所有来自queuestr
的字符串
检查i < queuestr.Count
不符合逻辑。这两个数字之间的关系是什么?在某一时刻,i
的值将大于队列中的项目数。
最好使用while循环。检查> 2
是为了确保您可以退出队列三次。
while (queuestr.Count > 2) {
items.Add(new queuestrtem {
Item1 = queuestr.Dequeue(),
Item2 = queuestr.Dequeue(),
Item3 = queuestr.Dequeue(),
});
}