取った
var query = Process.GetProcesses()
.OrderBy(p => p.WorkingSet64)
.ThenByDescending(p => p.Threads.Count);
.Where(p => p.ProcessName.Length < 9);
正常に動作します。取った
var query = Process.GetProcesses()
.OrderBy(p => p.WorkingSet64)
.ThenByDescending(p => p.Threads.Count);
//.Where(p => p.ProcessName.Length < 9);
query = query.Where(p => p.ProcessName.Length < 9);
これは動作しません。最初の方法が機能する理由がわかりません。私の考えでは、これらのクエリは同じです。ThenByDescendingはIOrderedEnumerable<T>
、Where()にパイプされたものを返します。Whereは。でしか機能しないため、最初の方法は機能しないはずIEnumerable<T>
です。悲しいかな...それは動作します。
この処理パイプラインはどのように機能しますか?