Очередь в C # Ilist - PullRequest
       10

Очередь в C # Ilist

1 голос
/ 09 июня 2010

У меня есть список из 5 элементов ... Что я хочу переместить вперед по всем элементам, удалив последний и добавив новое значение к первому.Существуют ли какие-либо заранее подготовленные методы списка, которые делают это или помогают мне?Как очередь

Ответы [ 5 ]

5 голосов
/ 09 июня 2010

Вы можете использовать Queue<T>

Редактировать: вашу формулировку можно интерпретировать несколькими способами, но если вы хотите, чтобы поведение было первым, то используйте Queue<T>.Если вы хотите, чтобы поведение было первым в последнем, используйте Stack<T>.

3 голосов
/ 09 июня 2010

Как насчет Очередь ?

2 голосов
/ 09 июня 2010

Вы можете использовать Queue<T>, как предлагалось много раз. Имейте в виду, однако, что Очередь будет добавлять элементы в конец и удалять с фронта, что является противоположным поведением, которое вы указали. Если вы используете эту коллекцию как IEnumerable<T> и перечисляете ее, Queue<T> будет в обратном направлении от ваших спецификаций.

Есть два способа обойти это легко. Вы можете перебрать очередь в обратном порядке, если обрабатываете ее как перечислимое с помощью Enumerable.Reverse ().

В качестве альтернативы вы можете использовать LinkedList<T>. Это позволяет вставлять и удалять как начало, так и конец коллекции. Это позволит вам сохранить указанный вами порядок.

Если порядок не имеет значения, и вам просто нужна очередь общего назначения, тогда Queue<T>, безусловно, лучший выбор.

1 голос
/ 09 июня 2010

Да Queue<T>

1 голос
/ 09 июня 2010

вы можете использовать класс Queue . Он должен предоставить все необходимые вам методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...