怎样构造一个对键值大小写不敏感的hashtable? 也就是hashtable["A"] 应该等于hashtable["a"] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class myhash:System.Collections.Hashtable { public override object this[object key] { get { return base[key.ToString().ToLower()]; } set { base[key.ToString().ToLower()] = value; } } public override void Add(object key, object value) { base.Add (key.ToString().ToLower(), value); } } 插入值和取值时 都 统一大小写就行了"A".ToLower() = "a" public class IgnoreCaseHashtable : Hashtable{ public object this[string key] { get { return this[key.ToLower()]; } set { this[key.ToLower() = value; } } void Add(string key, object value) { base.Add(key.ToLower(), value); } void Remove(string key) { base.Remove(key.ToLower()); }} 自己找到答案了,这个分只能给自己了:public class BaseHashtable : Hashtable { public BaseHashtable() : base(CaseInsensitiveHashCodeProvider.Default,CaseInsensitiveComparer.Default) { } } -.- 原来如此,不过也算学到一招。BTW: 既然 Hashtable 的构造函数有 IHashCodeProvider 和 IComparer 的重载,为什么不直接用Hashtable ht = new Hashtable(CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);呢? listview上数据存excel时,乱码怎么回事呀? 高分求教如何本地和远程数据库同步 求"Visual C# 2005编程技巧大全"的详细目录 c# gridview 添加删除列 委托,事件和泛型 如何申请内存 和结构指针赋值的问题 不知道描述的对不对 个别网页关键的会话部分抓不下来,有经验的进来分析一下! usercontrol把form占满还怎么实现用户区拖动窗口? JQuery怎么获取HTTP请求,,在线等!!!着急!!!! 请教:如何对另一台机器写文件? C#调用COM+老出错。。。真愁人啊! 各位用C#写window form程序时,都用什么开发工具呢?
{
public override object this[object key]
{
get
{
return base[key.ToString().ToLower()];
}
set
{
base[key.ToString().ToLower()] = value;
}
}
public override void Add(object key, object value)
{
base.Add (key.ToString().ToLower(), value);
}
}
"A".ToLower() = "a"
{
public object this[string key]
{
get { return this[key.ToLower()]; }
set { this[key.ToLower() = value; }
} void Add(string key, object value)
{
base.Add(key.ToLower(), value);
}
void Remove(string key)
{
base.Remove(key.ToLower());
}
}
public class BaseHashtable : Hashtable
{
public BaseHashtable() : base(CaseInsensitiveHashCodeProvider.Default,CaseInsensitiveComparer.Default)
{
}
}
Hashtable ht = new Hashtable(CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
呢?