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은 Where()에 파이프 된 IOrderedEnumerable<T>
을 반환합니다. Where는 IEnumerable<T>
에서만 작동하기 때문에 첫 번째 방법은 작동하지 않아야합니다. 아아 ... 작동합니다.
이 처리 파이프 라인은 어떻게 작동합니까?
배열은'IEnumerable'과'GetProcesses'가 프로세스의 배열을 반환한다고 가정합니다. http://msdn.microsoft.com/en-us/library/system.array.aspx –