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; } }