static extern Int32 CompareStringEx ( String localeName, CmpFlags flags, String str1, Int32 count1, String str2, Int32 count2, IntPtr versionInformation, IntPtr reserved, Int32 param );
public LexicographicComparer(CultureInfo cultureInfo, CmpFlags flags = CmpFlags.Default) { // It is not recommended to use a neutral culture for comparing / sorting. // (http://msdn.microsoft.com/de-de/library/system.globalization.cultureinfo%28v=vs.110%29.aspx) // If a neutral culture is passed, we use InvariantCulture for sorting. if (cultureInfo.Equals(CultureInfo.InvariantCulture) || cultureInfo.IsNeutralCulture) { _locale = LOCALE_NAME_INVARIANT; } else { _locale = cultureInfo.Name; } _flags = flags; }