我正在使用扩展方法 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();
我觉得我在这里做的事情很愚蠢,任何帮助将不胜感激!