AlphaNumericComparer
AlphaNumericComparer.InvariantCultureIgnoreCase compares text and numbers as separate groups, case is ignored.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.InvariantCultureIgnoreCase); // A1, a5, a100, B1
AlphaNumericComparer.InvariantCulture compares text and numbers as separate groups.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.InvariantCulture); // a5, a100, A1, B1
AlphaNumericComparer.CurrentCultureIgnoreCase compares text and numbers as separate groups, case is ignored.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentCultureIgnoreCase); // a5, a100, A1, B1
AlphaNumericComparer.CurrentCulture compares text and numbers as separate groups.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentCulture); // a5, a100, A1, B1
AlphaNumericComparer.CurrentUICultureIgnoreCase compares text and numbers as separate groups, case is ignored.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentUICultureIgnoreCase); // a5, a100, A1, B1
AlphaNumericComparer.CurrentUICulture compares text and numbers as separate groups.
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentUICulture); // a5, a100, A1, B1
Full Example
Full example
using System;
using System.Collections.Generic;
using Avalanche.Utilities;
class alphanumericcomparer
{
public static void Run()
{
{
// <01>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.InvariantCultureIgnoreCase); // A1, a5, a100, B1
// </01>
Print(strings);
}
{
// <02>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.InvariantCulture); // a5, a100, A1, B1
// </02>
Print(strings);
}
{
// <03>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentCultureIgnoreCase); // a5, a100, A1, B1
// </03>
Print(strings);
}
{
// <04>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentCulture); // a5, a100, A1, B1
// </04>
Print(strings);
}
{
// <05>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentUICultureIgnoreCase); // a5, a100, A1, B1
// </05>
Print(strings);
}
{
// <06>
String[] strings = { "a100", "B1", "a5", "A1" };
Array.Sort(strings, AlphaNumericComparer.CurrentUICulture); // a5, a100, A1, B1
// </06>
Print(strings);
}
}
static void Print<T>(IEnumerable<T> enumr) => Console.WriteLine(String.Join(", ", enumr));
}