an array of string values sorted first by length, then sorted alphabetically, using a case-insentive comparison. : OrderBy « LINQ « C# / C Sharp






an array of string values sorted first by length, then sorted alphabetically, using a case-insentive comparison.

 
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)
                    .ThenBy(a => a, new CaseInsensitiveComparer());

        Console.Write(sortedWords);
    }
}

 








Related examples in the same category

1.OrderBy: prints an alphabetically sorted version of a string array
2.string array sorted by the length each element
3.products sorted alphabetically by the product name
4.OrderBy with customized Comparer
5.OrderBy with passing a lambda function
6.OrderBy Descending
7.products sorted by the number of units of each product that are in stock
8.sorted alphabetically in descending order, using a case insensitive comparision.
9.uses a compound orderby to sort a list of digits first by length of their name, and then alphabetically.
10.uses a compound orderby to sort a list of products, first by category, and then by unit price, from highest to lowest.
11.First OrderBy Prototype
12.Where with OrderBy