Comparer Constructor (CultureInfo)


Initializes a new instance of the Comparer class using the specified System.Globalization.CultureInfo.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public Comparer(
	CultureInfo culture


Type: System.Globalization.CultureInfo

The System.Globalization.CultureInfo to use for the new Comparer.

Exception Condition

culture is null.

Comparison procedures use the specified System.Globalization.CultureInfo to determine the sort order and casing rules. String comparisons might have different results depending on the culture. For more information on culture-specific comparisons, see the System.Globalization namespace and Globalizing and Localizing .NET Framework Applications.

The following code example shows how Compare returns different values depending on the culture associated with the Comparer.

using System;
using System.Collections;
using System.Globalization;

public class SamplesComparer  {

   public static void Main()  {

      // Creates the strings to compare.
      String str1 = "llegar";
      String str2 = "lugar";
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\" ...", str1, str2 );

      // Uses the DefaultInvariant Comparer.
      Console.WriteLine( "   Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare( str1, str2 ) );

      // Uses the Comparer based on the culture "es-ES" (Spanish - Spain, international sort).
      Comparer myCompIntl = new Comparer( new CultureInfo( "es-ES", false ) );
      Console.WriteLine( "   International Sort: {0}", myCompIntl.Compare( str1, str2 ) );

      // Uses the Comparer based on the culture identifier 0x040A (Spanish - Spain, traditional sort).
      Comparer myCompTrad = new Comparer( new CultureInfo( 0x040A, false ) );
      Console.WriteLine( "   Traditional Sort  : {0}", myCompTrad.Compare( str1, str2 ) );



This code produces the following output.

Comparing "llegar" and "lugar" ...
   Invariant Comparer: -1
   International Sort: -1
   Traditional Sort  : 1


Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top