2010-06-08 46 views
1

我有5个元素...我要盼着移动的所有元素,去掉最后一个,并添加一个新的价值,第一个什么列表。有没有预先制作的列表方法可以做到这一点或帮助我? 像队列队列在C#ILIST

+0

重要的是你添加到前面并从集合的后面删除? – 2010-06-08 23:10:04

回答

5

您可以使用Queue<T>

编辑:您的措辞可以解释一对夫妇不同的方式,但如果你想先出行为第一,然后使用Queue<T>。如果您需要先进行结局行为,请使用Stack<T>

+1

请注意队列这样做,但与OP的指定顺序相反。这只是一个部分正确的答案。 – 2010-06-08 23:06:25

1

你可以使用Queue类。它应该提供你需要的所有方法。

1
+0

嘿: 回答43秒前布莱恩R.邦迪 回答16秒前来头 回答4秒前卢克 回答0秒前科里查尔顿 布莱恩赢得;-) – 2010-06-08 22:54:52

2

你可以使用一个Queue<T>,所建议的无数次。但请注意,队列会将项目添加到最后,并从前面移除,这与您指定的行为相反。如果您将此集合用作IEnumerable<T>并对其进行枚举,则Queue<T>将从您的规范中倒退。

有解决此方便地在两个方面。如果通过使用Enumerable.Reverse()将其视为可枚举,则可以反向重复队列。

或者,你可以使用一个LinkedList<T>。这允许您从集合的开头和结尾插入和删除。这可以让你保持你指定的顺序。

如果顺序并不重要,你只需要一个通用的队列,然后Queue<T>绝对是最好的选择。

+0

我觉得他是描述一个队列只是有点奇怪的措辞。 – 2010-06-08 23:07:33

+0

@Brian:不确定。他明确指出在前面添加,并从“后退”中移除,这与队列的实现方式相反。这可能也可能不重要(我试图在我的答案中澄清这一点),但如果确实如此,队列将是错误的。 – 2010-06-08 23:08:32

+0

@Brian:我质疑它主要是因为他使用了单词队列,所以我假设OP知道队列。 :) – 2010-06-08 23:10:43