I am trying to understand more about linq, for example, if I want to implement a Select I will implement like this
public static IEnumerable Selec
To follow you current implementation pattern you could try this:
public static IEnumerable OrderBy( IEnumerable source, Func keySelector) { var items = source.ToArray(); var keys = items.Select(keySelector).ToArray(); Array.Sort(keys, items); foreach (var item in items) { yield return item; } }