私は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();
私は任意の助けをいただければ幸い、ここは非常に愚かな何かをやっている感じがしました!
ああ、:ここで
は、MSDNコードで言っていることです。私は混乱していると思います。なぜなら、Reverseがリスト上で呼び出されると、元のものを変更するからです(ReverseはListの拡張メソッドではありません)。ありがとう:) – Benzino