0
採取瞭解處理管道
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>
一起使用。唉......它確實有效。
這個處理管道是如何工作的?
數組實現'IEnumerable'和'GetProcesses'返回一個進程數組http://msdn.microsoft.com/en-us/library/system.array.aspx – 2012-04-09 21:37:20