Partitioning Operator
To segmentate the collection.
birds.Take(3);
birds.OrderBy(b => b.Name.Length).Take(3);
birds.OrderBy(b => b.Name.Length).Skip(3).Take(3);
birds.TakeWhile(b => b.Name.Length > 4);
// take the conditional statement and falls in first item in collection
birds.OrderBy(b => b.Name.Length).TakeWhile(b => b.Name.Length < 4);
// get ordered first and take the condtion