uses an OrderBy and a ThenBy clause with a custom comparer to sort first by word length and then by a case-insensitive descending sort of the words in an array.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class CaseInsensitiveComparer : IComparer<string> {
public int Compare(string x, string y) {
return string.Compare(x, y, true);
}
}
public class MainClass {
public static void Main() {
string[] words = { "a", "A", "b", "B", "C", "c" };
var sortedWords =
words.OrderBy(a => a.Length)
.ThenByDescending(a => a, new CaseInsensitiveComparer());
foreach (var s in sortedWords) {
Console.WriteLine(s);
}
}
}
Related examples in the same category