如果大家按着上面的操作已经重置过Windows 10自带应用,但Edge依旧会出现闪退、卡顿或假死等问题,就需要更深入一些解决问题了。 直接进入 C:\Users\用户名\AppData\Local\Packages\Microsoft.M......
2017-01-19 202 Edge浏览器
Hashtable 利于用键值快速查找,却没有提供排序的方法,所以它的排序需要借住数组或其它集合来实现。在讨论具体方法之前,先说明 Hashtable 所在的命名空间和新建一个 Hashtable 且添加一些值。
Hashtable所在的命名空间为:System.Collections,所以别忘了先 using System.Collections;;新建一个 Hashtable,且添加三个值,具体如下:
Hashtable ht = new Hashtable();
ht.Add("a", 5);
ht.Add("b", 22);
ht.Add("c", 16);
ArrayList al = new ArrayList(ht.Keys);
al.Sort();
1)按键升序输出
for(int i = 0; i < al.Count; i++)
Response.Write("键:" + al[i] + " 的值为:" + ht[al[i]].ToString() + "<br />");
输出结果:
键:a 的值为:5
键:b 的值为:22
键:c 的值为:16
2)按键降序输出
for(int i = al.Count - 1; i >= 0; i--)
Response.Write("键:" + al[i] + " 的值为:" + ht[al[i]].ToStrings() + "<br />");
输出结果:
键:c 的值为:16
键:b 的值为:22
键:a 的值为:5
string[] arrKey = new string[ht.Count];//暂存 Hashtable 的键
int[] arrValue = new int[ht.Count];//暂存 Hashtable 的值
ht.Keys.CopyTo(arrKey, 0);
ht.Values.CopyTo(arrValue, 0);
Array.Sort(arrValue, arrKey);//按 HashTable 的值排序
for(int i = 0; i < arrKey.Length; i++)
Response.Write("键:" + arrKey[i].ToString() + " 的值为:" + arrValue[i].ToString() + "<br />");
输出结果:
键:a 的值为:5
键:c 的值为:16
键:b 的值为:22
DataTable dt = new DataTable();
dt.Columns.Add("htKey", typeof(string));
dt.Columns.Add("htValue", typeof(int));
IDictionaryEnumerator ide = ht.GetEnumerator();
while (ide.MoveNext())
{
DataRow dr = dt.NewRow();
dr["htKey"] = ide.Key.ToString();
dr["htValue"] = ide.Value.ToString();
dt.Rows.Add(dr);
}
DataView dv = dt.DefaultView;
dv.Sort = "htValue Desc";//此处是按值降序排列
DataTable dt1 = dv.ToTable();
for (int i = 0; i < dt1.Rows.Count; i++)
Response.Write("键:" + dt1.Rows[i]["htKey"].ToString() + " 的值为:" + dt1.Rows[i]["htValue"].ToString() + "<br/>");
输出结果:
键:b 的值为:22
键:c 的值为:16
键:a 的值为:5
标签: Hashtable排序
相关文章
如果大家按着上面的操作已经重置过Windows 10自带应用,但Edge依旧会出现闪退、卡顿或假死等问题,就需要更深入一些解决问题了。 直接进入 C:\Users\用户名\AppData\Local\Packages\Microsoft.M......
2017-01-19 202 Edge浏览器
最近在使用SS上网打开网页的时候,浏览器显示英文提示: 500 Internal Privoxy Error Privoxy encountered an error while processing your request: Could not load template fileno-server-dataor one of its included components......
2022-08-29 365 IE浏览器
有的小伙伴的苹果手机可能会在屏幕上出现一个连接 iTunes 的画面,并且此时点什么都没用,什么也干不了。当显示这个画面的时候,其实当前手机是进入了恢复模式,先来说说为什么......
2017-05-04 207 iphone
在微软发布OneNote for Mac 后,紧接着微软又发布了 OneNote Clipper 剪辑到数字笔记,它可以让从 Mac Safari 浏览器你保存保存网页到你的 OneNote 笔记本里。 如何安装 OneNote Clipper 网页裁剪到......
2023-10-24 264 Safari浏览器 OneNote网页裁剪插件
在 C# 中,大括号作为一个特殊字符,不能像普通字符一样输入,也不能加转议字符(\)输出,而是要这样输出 {{}},下面是具体实例: 在 C# 输出 Javascript 代码 aspx 文件: %@PageLanguage......
2024-01-09 201 C#输出大括号{}