Len*_*ka 4 c# collections dictionary
如果我有一个Dictionary<char,...>
是否可以使方法ContainsKey不区分大小写?
我知道,在Dictionary<string,...>
使用StringComparer.InvariantCultureIgnoreCase时,但是当字典中的键是char-type时该怎么办?
您可以实现自己的比较器:
public class CharComparer : IEqualityComparer<char>
{
public bool Equals(char c1, char c2)
{
return char.ToLowerInvariant(c1) == char.ToLowerInvariant(c2);
}
public int GetHashCode(char c1)
{
return char.ToLowerInvariant(c1).GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
并将其传递给构造函数:
var dict = new Dictioanry<char, object>(new CharComparer());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1911 次 |
最近记录: |