hashtable可以方便的查找值,但是想对它排序却没有好的办法,这里只能引入arraylist,通过对arraylist排序来间接实现对hashtable的排序。
Hashtable ht = myyqr.addStack(htmlcontent);//为我的hashtable实例化
ArrayList ar = new ArrayList(ht.Keys);//通过hashtable里的键值实例化arraylist
ar.Sort(new myCompare());//当参数为null时,默认将根据arraylist值的ASCII码来排序。我们也可以继承IComparer接口来自定义排序方法:
自定义类:
public class myCompare : IComparer
{
public int Compare(object x, object y)
{
return y.ToString().Length-x.ToString().Length;
}
}
{
public int Compare(object x, object y)
{
return y.ToString().Length-x.ToString().Length;
}
}
通过以上实现,可以做到:根据hashtable里的键值长度大小从大到小排列。
显示结果:
foreach (string objDE in ar)
{
Response.Write(objDE.ToString() + ":" + ht[objDE].ToString());
}
{
Response.Write(objDE.ToString() + ":" + ht[objDE].ToString());
}




问题集锦





此内容无附件