我正在使用擴展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