/*public static IOrderedEnumerable<T> ThenBy<T, K>( * this IOrderedEnumerable<T> source, * Func<T,K> keySelector, * IComparer<K> comparer); * */ void ThenByOperator2nd() { string[] presidents = Presidents.GetPresidentsStringArray (); MyVowelToConsonantRatioComparer myComparer = new MyVowelToConsonantRatioComparer(); IOrderedEnumerable<string> sequence = presidents.OrderBy(p => p.Length).ThenBy ((p => p),myComparer); foreach (string item in sequence) { Console.WriteLine(item); } }
/*pubic static IOrderedEnumerable<T> OrderBy<T, K>( * this IEnumerable<T> source, * Func<T, K> keySelector, * IComparer<K> comparer); * */ void OrderByOperator2nd() { string[] presidents = Presidents.GetPresidentsStringArray (); MyVowelToConsonantRatioComparer myComparer = new MyVowelToConsonantRatioComparer (); IOrderedEnumerable<string> sequence = presidents.OrderBy ((p => p), myComparer); foreach (string item in sequence) { int vCount = 0; int cCount = 0; myComparer.GetVowelConsonantCount(item, ref vCount, ref cCount); double dRatio = (double)vCount/(double)cCount; Console.WriteLine("{0} - {1} - {2}:{3}", item, dRatio, vCount, cCount ); } }