文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C# 谈Dictionary<TKey,TValue>,SortedDictionary<TKey,TValue>排序

C# 谈Dictionary<TKey,TValue>,SortedDictionary<TKey,TValue>排序

时间:2011-02-25  来源:varvery

测试环境为Web,如在WinForm下,调试则只需改一下输出语句即可。

如以下代码在调试时不能使用则需要引用:

using System.Linq;

using System.Collections.Generic;

 1         private void TestDictionarySort()
2 {
3 SortedDictionary<string, string> sd = new SortedDictionary<string, string>();
4 sd.Add("321", "fdsgsags");
5 sd.Add("acb", "test test");
6 sd.Add("1123", "lslgsgl");
7 sd.Add("2bcd13", "value");
9
10 foreach (KeyValuePair<string, string> item in sd)
11 {
12 Response.Write("键名:" + item.Key + " 键值:" + item.Value);
13 }
14
15 }

上面代码输出效果:

键名:1123 键值:lslgsgl
键名:2bcd13 键值:value
键名:321 键值:fdsgsags
键名:acb 键值:test test

好了,现在我们来看一下反序排序的效果,请看下面的代码:

        private void TestDictionarySort()
{
SortedDictionary
<string, string> sd = new SortedDictionary<string, string>();
sd.Add(
"321", "fdsgsags");
sd.Add(
"acb", "test test");
sd.Add(
"1123", "lslgsgl");
sd.Add(
"2bcd13", "value");

Response.Write(
"<br />正序排序数据:<br />");
foreach (KeyValuePair<string, string> item in sd)
{
Response.Write(
"键名:" + item.Key + " 键值:" + item.Value + "<br />");
}

//重新封装到Dictionary里(PS:因为排序后我们将不在使用排序了,所以就使用Dictionary)
Dictionary<string, string> dc = new Dictionary<string, string>();
foreach (KeyValuePair<string, string> item in sd.Reverse())
{
dc.Add(item.Key, item.Value);
}
sd
= null;
//再看其输出结果:
Response.Write("<br />反序排序数据:<br />");
foreach (KeyValuePair<string, string> item in dc)
{
Response.Write(
"键名:" + item.Key + " 键值:" + item.Value + "<br />");
}


}

上面代码输出效果:

正序排序数据:
键名:1123 键值:lslgsgl
键名:2bcd13 键值:value
键名:321 键值:fdsgsags
键名:acb 键值:test test

反序排序数据:
键名:acb 键值:test test
键名:321 键值:fdsgsags
键名:2bcd13 键值:value
键名:1123 键值:lslgsgl

好了,效果实现了,欢迎大家一起讨论出一个更好的方法来,欢迎拍砖!

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载