Я использую расширение menthod Reverse(), но, похоже, он ничего не делает. MSDN заявляет, что оно реализовано как отсроченное исполнение, однако я не могу заставить его работать.Reverse a Queue
Вот как я это называю.
Queue<T> currentPath = new Queue<T>();
currentPath.Enqueue(someValue);
currentPath.Enqueue(someValue2);
currentPath.Reverse();
Это то, что говорит MSDN:
Этот метод реализуется с использованием отложенного выполнения. Непосредственное возвращаемое значение - это объект, который хранит всю информацию, необходимую для выполнения действия. Запрос, представленный этим методом, не выполняется до тех пор, пока объект не будет перечислен, либо вызвав его метод GetEnumerator напрямую, либо используя foreach в Visual C# или для каждого в Visual Basic.
Я не уверен, что это значит, вызвав GetEnumerator. Я пытался, что просто выполнив следующие действия, не помогло:
currentPath.Reverse();
currentPath.GetEnumerator();
У меня есть чувство, что я делаю что-то довольно глупо здесь, любая помощь будет оценен по достоинству!
Ах, как глупо с моей стороны. Я думаю, что я запутался, потому что когда Reverse вызывается в списке, он изменяет оригинал (поскольку Reverse не является методом расширения для List).Спасибо :) – Benzino