私のコードは次のようなものです:
public class CaseAccentInsensitiveEqualityComparer : IEqualityComparer<string>
{
public bool Equals(string x, string y)
{
return string.Compare(x, y, CultureInfo.InvariantCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) == 0;
}
public int GetHashCode(string obj)
{
// not sure what to put here
}
}
このコンテキストでの の役割を知っていGetHashCode
ます。欠けているのは、を返すことができるようInvariantCulture
にIgnoreNonSpace
とのIgnoreCase
バージョンを作成する方法です。obj
HashCode
分音記号と大文字と小文字を自分から削除してobj
、それを返すこともできhashcode
ますが、より良い代替手段があるかどうか疑問に思います。