26 lines
740 B
C#
26 lines
740 B
C#
|
namespace System {
|
||
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Globalization;
|
||
|
|
||
|
[Serializable]
|
||
|
internal class InvariantComparer : IComparer {
|
||
|
private CompareInfo m_compareInfo;
|
||
|
internal static readonly InvariantComparer Default = new InvariantComparer();
|
||
|
|
||
|
internal InvariantComparer() {
|
||
|
m_compareInfo = CultureInfo.InvariantCulture.CompareInfo;
|
||
|
}
|
||
|
|
||
|
public int Compare(Object a, Object b) {
|
||
|
String sa = a as String;
|
||
|
String sb = b as String;
|
||
|
if (sa != null && sb != null)
|
||
|
return m_compareInfo.Compare(sa, sb);
|
||
|
else
|
||
|
return Comparer.Default.Compare(a,b);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|