我需要一个字典来拥有一个字符串但忽略大小写的键。我已经反编译了 Dictionary 类型,它基本上创建了一个密钥哈希码的哈希表。我不能子类化字符串,因为它是一个原始类型,所以我创建了自己的类用作键:
struct StringCaseInsensitiveHash
{
private readonly string _innerString;
public StringCaseInsensitiveHash(string str)
{
_innerString = str;
}
public static implicit operator string(StringCaseInsensitiveHash stringCaseInsensitiveHash)
{
return stringCaseInsensitiveHash._innerString;
}
public override int GetHashCode()
{
return _innerString.ToLower().GetHashCode();
}
}
有没有更好的方法来做到这一点?
谢谢,