我正在使用扩展menthod Reverse(),但它似乎没有做任何事情。 MSDN声明它是作为延迟执行来实现的,但我似乎无法得到这个工作。反转队列
这是我如何称呼它。
Queue<T> currentPath = new Queue<T>();
currentPath.Enqueue(someValue);
currentPath.Enqueue(someValue2);
currentPath.Reverse();
这正是MSDN说:
这种方法是通过使用延迟执行实现。即时返回值是存储执行操作所需的所有信息的对象。直到通过直接调用其GetEnumerator方法或使用Visual C#中的foreach或Visual Basic中的For Each来枚举对象,才会执行此方法表示的查询。
我不知道通过调用GetEnumerator意味着什么。我已经试过了,只需做与无济于事如下:
currentPath.Reverse();
currentPath.GetEnumerator();
我感觉我做的东西很无聊的在这里,任何帮助,将不胜感激!
啊,怎么我傻的。我想我很困惑,因为当在列表上调用Reverse时,它会修改原始内容(因为Reverse不是List的扩展方法)。谢谢:) – Benzino 2012-03-12 00:11:32