Merge pull request #2928 from alexrp/master
[mono.git] / mcs / class / referencesource / System.Web.Services / inc / InvariantComparer.cs
1 namespace System {
2     using System;
3     using System.Collections;
4     using System.Globalization;
5  
6     [Serializable]
7     internal class InvariantComparer : IComparer {
8         private CompareInfo m_compareInfo;
9         internal static readonly InvariantComparer Default = new InvariantComparer();
10         
11         internal InvariantComparer() {
12             m_compareInfo = CultureInfo.InvariantCulture.CompareInfo;
13         }
14   
15         public int Compare(Object a, Object b) {
16             String sa = a as String;
17             String sb = b as String;
18             if (sa != null && sb != null)
19                 return m_compareInfo.Compare(sa, sb);
20             else
21                 return Comparer.Default.Compare(a, b);
22         }
23     }
24 }
25