2010-06-08 83 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