48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using System;
|
|
using System.Globalization;
|
|
|
|
namespace System
|
|
{
|
|
// Token: 0x020006A8 RID: 1704
|
|
[Serializable]
|
|
internal sealed class CultureAwareComparer : StringComparer
|
|
{
|
|
// Token: 0x06004099 RID: 16537 RVA: 0x000DBFC0 File Offset: 0x000DA1C0
|
|
public CultureAwareComparer(CultureInfo ci, bool ignore_case)
|
|
{
|
|
this._compareInfo = ci.CompareInfo;
|
|
this._ignoreCase = ignore_case;
|
|
}
|
|
|
|
// Token: 0x0600409A RID: 16538 RVA: 0x000DBFDC File Offset: 0x000DA1DC
|
|
public override int Compare(string x, string y)
|
|
{
|
|
CompareOptions compareOptions = ((!this._ignoreCase) ? CompareOptions.None : CompareOptions.IgnoreCase);
|
|
return this._compareInfo.Compare(x, y, compareOptions);
|
|
}
|
|
|
|
// Token: 0x0600409B RID: 16539 RVA: 0x000DC00C File Offset: 0x000DA20C
|
|
public override bool Equals(string x, string y)
|
|
{
|
|
return this.Compare(x, y) == 0;
|
|
}
|
|
|
|
// Token: 0x0600409C RID: 16540 RVA: 0x000DC01C File Offset: 0x000DA21C
|
|
public override int GetHashCode(string s)
|
|
{
|
|
if (s == null)
|
|
{
|
|
throw new ArgumentNullException("s");
|
|
}
|
|
CompareOptions compareOptions = ((!this._ignoreCase) ? CompareOptions.None : CompareOptions.IgnoreCase);
|
|
return this._compareInfo.GetSortKey(s, compareOptions).GetHashCode();
|
|
}
|
|
|
|
// Token: 0x040019AD RID: 6573
|
|
private readonly bool _ignoreCase;
|
|
|
|
// Token: 0x040019AE RID: 6574
|
|
private readonly CompareInfo _compareInfo;
|
|
}
|
|
}
|