Dictionary是一个泛型
他本身有集合的功能有时候可以把它看成数组
他的结构是这样的:Dictionary<[key], [value]>
他的特点是存入对象是需要与[key]值一一对应的存入该泛型
通过某一个一定的[key]去找到对应的值
举个例子:
//实例化对象
Dictionary dic = new Dictionary();
//对象打点添加
dic.Add(1, "one");
dic.Add(2, "two");
dic.Add(3, "one");
//提取元素的方法
string a = dic[1];
string b = dic[2];
string c = dic[3];
//1、2、3是键,分别对应“one”“two”“one”
//上面代码中分别把值赋给了a,b,c
//注意,键相当于找到对应值的唯一标识,所以不能重复
//但是值可以重复
如果你还看不懂我最后给你举一个通俗的例子
有一缸米,你想在在每一粒上都刻上标记,不重复,相当于“键”当你找的时候一一对应不会找错,这就是这个泛型的键的-作用,而米可以一样,我的意思你明白了吧?
-------------------------------------------------------------------------
c# 对dictionary类进行排序用什么接口实现
如果使用.Net Framework 3.5的话,事情就很简单了。呵呵。
如果不是的话,还是自己写排序吧。
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace DictionarySorting
{
class Program
{
static void Main(string[] args)
{
Dictionary dic = new Dictionary();
dic.Add(1, "HaHa");
dic.Add(5, "HoHo");
dic.Add(3, "HeHe");
dic.Add(2, "HiHi");
beijingkaifapiao.fjie.pw;
beijingdaikaifapiao.fjie.pw;
shanghaikaifapiao.fjie.pw;
shanghaidaikaifapiao.fjie.pw;
guangzhoukaifapiao.fjie.pw;
shenzhenfapiao.fjie.pw;
shenzhenkaifapiao.fjie.pw;
jinanfapiao.fjie.pw;
jinankaifapiao.fjie.pw;
jinandaikaifapiao.fjie.pw;
qingdaofapiao.fjie.pw;
qingdaokaifapiao.fjie.pw;
qingdaodaikaifapiao.fjie.pw;
nanjingfapiao.fjie.pw;
nanjingdaikaifapiao.fjie.pw;
wuxifapiao.fjie.pw;
wuxikaifapiao.fjie.pw;
wuxidaikaifapiao.fjie.pw;
suzhoufapiao.fjie.pw;
suzhoukaifapiao.fjie.pw;
suzhoudaikaifapiao.fjie.pw;
zhengzhoufapiao.fjie.pw;
zhengzhoukaifapiao.fjie.pw;
zhengzhoudaikaifapiao.fjie.pw;
shijiazhuangfapiao.fjie.pw;
shijiazhuangkaifapiao.fjie.pw;
shijiazhuangdaikaifapiao.fjie.pw;
hangzhoufapiao.fjie.pw;
hangzhoudaikaifapiao.fjie.pw;
ningbofapiao.fjie.pw;
ningbokaifapiao.fjie.pw;
ningbodaikaifapiao.fjie.pw;
xianfapiao.fjie.pw;
xiankaifapiao.fjie.pw;
xiandaikaifapiao.fjie.pw;
changshafapiao.fjie.pw;
changshakaifapiao.fjie.pw;
changshadaikaifapiao.fjie.pw;
zhongqingkaifapiao.fjie.pw;
zhongqingdaikaifapiao.fjie.pw;
fuzhoufapiao.fjie.pw;
fuzhoukaifapiao.fjie.pw;
fuzhoudaikaifapiao.fjie.pw;
xiamenfapiao.fjie.pw;
xiamenkaifapiao.fjie.pw;
xiamendaikaifapiao.fjie.pw;
tianjinfapiao.fjie.pw;
tianjinkaifapiao.fjie.pw;
tianjindaikaifapiao.fjie.pw;
kunmingfapiao.fjie.pw;
kunmingkaifapiao.fjie.pw;
kunmingdaikaifapiao.fjie.pw;
chengdufapiao.fjie.pw;
chengdukaifapiao.fjie.pw;
chengdudaikaifapiao.fjie.pw;
hefeifapiao.fjie.pw;
hefeikaifapiao.fjie.pw;
hefeidaikaifapiao.fjie.pw;
wuhanfapiao.fjie.pw;
wuhankaifapiao.fjie.pw;
wuhandaikaifapiao.fjie.pw;
dalianfapiao.fjie.pw;
daliandaikaifapiao.fjie.pw;
shenyangfapiao.fjie.pw;
shenyangkaifapiao.fjie.pw;
shenyangdaikaifapiao.fjie.pw;
haerbinfapiao.fjie.pw;
haerbinkaifapiao.fjie.pw;
haerbindaikaifapiao.fjie.pw;
changchunfapiao.fjie.pw;
changchundaikaifapiao.fjie.pw;
taiyuanfapiao.fjie.pw;
taiyuankaifapiao.fjie.pw;
taiyuandaikaifapiao.fjie.pw;
lanzhoufapiao.fjie.pw;
lanzhoukaifapiao.fjie.pw;
lanzhoudaikaifapiao.fjie.pw;
jilinfapiao.fjie.pw;
jilinkaifapiao.fjie.pw;
jilindaikaifapiao.fjie.pw;
nanchangfapiao.fjie.pw;
nanchangkaifapiao.fjie.pw;
nanchangdaikaifapiao.fjie.pw;
guiyangfapiao.fjie.pw;
guiyangkaifapiao.fjie.pw;
guiyangdaikaifapiao.fjie.pw;
nanningfapiao.fjie.pw;
nanningkaifapiao.fjie.pw;
nanningdaikaifapiao.fjie.pw;
haikoufapiao.fjie.pw;
haikoukaifapiao.fjie.pw;
haikoudaikaifapiao.fjie.pw;
jinhuadaikaifapiao.fjie.pw;
wenzhoudaikaifapiao.fjie.pw;
yangzhoudaikaifapiao.fjie.pw;
wulumuqidaikaifapiao.fjie.pw;
qinhuangdaodaikaifapiao.fjie.pw;
cangzhoudaikaifapiao.fjie.pw;
xiningdaikaifapiao.fjie.pw;
huhehaotekaifapiao.fjie.pw;
cangzhoudaikaifapiao.fjie.pw;
cangzhoufapiao.fjie.pw;
cangzhoukaifapiao.fjie.pw;
zhangzhoudaikaifapiao.fjie.pw;
zhangzhoufapiao.fjie.pw;
zhangzhoukaifapiao.fjie.pw;
zhenjiangdaikaifapiao.fjie.pw;
zhenjiangfapiao.fjie.pw;
zhenjiangkaifapiao.fjie.pw;
zhongshandaikaifapiao.fjie.pw;
zhongshanfapiao.fjie.pw;
zhongshankaifapiao.fjie.pw;
zhuhaidaikaifapiao.fjie.pw;
zhuhaifapiao.fjie.pw;
zhuhaikaifapiao.fjie.pw;
huhehaotefapiao.fjie.pw;
huhehaotekaifapiao.fjie.pw;
foshandaikaifapiao.fjie.pw;
foshanfapiao.fjie.pw;
foshankaifapiao.fjie.pw;
huizhoudaikaifapiao.fjie.pw;
huizhoufapiao.fjie.pw;
huizhoukaifapiao.fjie.pw;
jinhuadaikaifapiao.fjie.pw;
jinhuafapiao.fjie.pw;
jinhuakaifapiao.fjie.pw;
taizhoudaikaifapiao.fjie.pw;
taizhoufapiao.fjie.pw;
taizhoukaifapiao.fjie.pw;
luoyangdaikaifapiao.fjie.pw;
luoyangfapiao.fjie.pw;
luoyangkaifapiao.fjie.pw;
qinhuangdaodaikaifapiao.fjie.pw;
qinhuangdaofapiao.fjie.pw;
qinhuangdaokaifapiao.fjie.pw;
quanzhoudaikaifapiao.fjie.pw;
quanzhoufapiao.fjie.pw;
quanzhoukaifapiao.fjie.pw;
tangshandaikaifapiao.fjie.pw;
tangshanfapiao.fjie.pw;
tangshankaifapiao.fjie.pw;
wenzhoudaikaifapiao.fjie.pw;
wenzhoufapiao.fjie.pw;
wenzhoukaifapiao.fjie.pw;
xuzhoudaikaifapiao.fjie.pw;
xuzhoufapiao.fjie.pw;
xuzhoukaifapiao.fjie.pw;
shantoudaikaifapiao.fjie.pw;
shantoufapiao.fjie.pw;
shantoukaifapiao.fjie.pw;
yantaidaikaifapiao.fjie.pw;
yantaifapiao.fjie.pw;
yantaikaifapiao.fjie.pw;
yanchengdaikaifapiao.fjie.pw;
yanchengfapiao.fjie.pw;
yanchengkaifapiao.fjie.pw;
yangzhoudaikaifapiao.fjie.pw;
yangzhoufapiao.fjie.pw;
yangzhoukaifapiao.fjie.pw;
wulumuqidaikaifapiao.fjie.pw;
wulumuqifapiao.fjie.pw;
wulumuqikaifapiao.fjie.pw;
chengdedaikaifapiao.fjie.pw;
chengdefapiao.fjie.pw;
chengdekaifapiao.fjie.pw;
dandongdaikaifapiao.fjie.pw;
dandongfapiao.fjie.pw;
dandongkaifapiao.fjie.pw;
dong莞fapiao.fjie.pw;
dong莞kaifapiao.fjie.pw;
dongyingdaikaifapiao.fjie.pw;
dongyingfapiao.fjie.pw;
dongyingkaifapiao.fjie.pw;
ganzhoudaikaifapiao.fjie.pw;
ganzhoufapiao.fjie.pw;
ganzhoukaifapiao.fjie.pw;
huludaodaikaifapiao.fjie.pw;
huludaofapiao.fjie.pw;
huludaokaifapiao.fjie.pw;
jixidaikaifapiao.fjie.pw;
jixifapiao.fjie.pw;
jixikaifapiao.fjie.pw;
lishuidaikaifapiao.fjie.pw;
lishuifapiao.fjie.pw;
lishuikaifapiao.fjie.pw;
liuzhoudaikaifapiao.fjie.pw;
liuzhoufapiao.fjie.pw;
liuzhoukaifapiao.fjie.pw;
loudidaikaifapiao.fjie.pw;
loudifapiao.fjie.pw;
loudikaifapiao.fjie.pw;
mianyangdaikaifapiao.fjie.pw;
mianyangfapiao.fjie.pw;
mianyangkaifapiao.fjie.pw;
nantongdaikaifapiao.fjie.pw;
nantongfapiao.fjie.pw;
nantongkaifapiao.fjie.pw;
panzhihuadaikaifapiao.fjie.pw;
panzhihuafapiao.fjie.pw;
panzhihuakaifapiao.fjie.pw;
pingdingshandaikaifapiao.fjie.pw;
pingdingshanfapiao.fjie.pw;
pingdingshankaifapiao.fjie.pw;
rizhaodaikaifapiao.fjie.pw;
rizhaofapiao.fjie.pw;
rizhaokaifapiao.fjie.pw;
tianshuidaikaifapiao.fjie.pw;
tianshuifapiao.fjie.pw;
tianshuikaifapiao.fjie.pw;
weihaidaikaifapiao.fjie.pw;
weihaifapiao.fjie.pw;
weihaikaifapiao.fjie.pw;
xiningdaikaifapiao.fjie.pw;
xiningfapiao.fjie.pw;
xiningkaifapiao.fjie.pw;
xianyangdaikaifapiao.fjie.pw;
xianyangfapiao.fjie.pw;
xianyangkaifapiao.fjie.pw;
yinchuandaikaifapiao.fjie.pw;
yinchuanfapiao.fjie.pw;
yinchuankaifapiao.fjie.pw;
yingkoudaikaifapiao.fjie.pw;
yingkoufapiao.fjie.pw;
yingkoukaifapiao.fjie.pw;
zibodaikaifapiao.fjie.pw;
zibofapiao.fjie.pw;
zibokaifapiao.fjie.pw;
zigongdaikaifapiao.fjie.pw;
zigongfapiao.fjie.pw;
zigongkaifapiao.fjie.pw;
beijingzhusufapiao.fjie.pw;
beijingcanyinfapiao.fjie.pw;
jinancanyinfapiao.fjie.pw;
jinanzhusufapiao.fjie.pw;
hefeizhusufapiao.fjie.pw;
hefeicanyinfapiao.fjie.pw;
suzhouzhusufapiao.fjie.pw;
suzhoucanyinfapiao.fjie.pw;
ningbocanyinfapiao.fjie.pw;
ningbozhusufapiao.fjie.pw;
wuxicanyinfapiao.fjie.pw;
wuxizhusufapiao.fjie.pw;
nanjingcanyinfapiao.fjie.pw;
nanjingzhusufapiao.fjie.pw;
changshazhusufapiao.fjie.pw;
changshacanyinfapiao.fjie.pw;
qingdaocanyinfapiao.fjie.pw;
qingdaozhusufapiao.fjie.pw;
zhongqingzhusufapiao.fjie.pw;
zhongqingcanyinfapiao.fjie.pw;
chengduzhusufapiao.fjie.pw;
chengducanyinfapiao.fjie.pw;
shanghaizhusufapiao.fjie.pw;
shanghaidaikaicanyinfapiao.fjie.pw;
haerbincanyinfapiao.fjie.pw;
haerbinzhusufapiao.fjie.pw;
changchunzhusufapiao.fjie.pw;
changchuncanyinfapiao.fjie.pw;
shenyangzhusufapiao.fjie.pw;
shenyangcanyinfapiao.fjie.pw;
zhengzhouzhusufapiao.fjie.pw;
zhengzhoucanyinfapiao.fjie.pw;
nanjingzhusufapiao.fjie.pw;
nanjingcanyinfapiao.fjie.pw;
hangzhouzhusufapiao.fjie.pw;
hangzhoucanyinfapiao.fjie.pw;
kunmingzhusufapiao.fjie.pw;
kunmingcanyinfapiao.fjie.pw;
dalianzhusufapiao.fjie.pw;
daliancanyinfapiao.fjie.pw;
wuhanzhusufapiao.fjie.pw;
wuhancanyinfapiao.fjie.pw;
fuzhoucanyinfapiao.fjie.pw;
fuzhouzhusufapiao.fjie.pw;
guangzhoucanyinfapiao.fjie.pw;
guangzhouzhusufapiao.fjie.pw;
shijiazhuangcanyinfapiao.fjie.pw;
shijiazhuangzhusufapiao.fjie.pw;
xiancanyinfapiao.fjie.pw;
xianzhusufapiao.fjie.pw;
shenzhencanyinfapiao.fjie.pw;
shenzhenzhusufapiao.fjie.pw;
taiyuanzhusufapiao.fjie.pw;
taiyuancanyinfapiao.fjie.pw;
nanchangzhusufapiao.fjie.pw;
nanchangcanyinfapiao.fjie.pw;
guiyangzhusufapiao.fjie.pw;
guiyangcanyinfapiao.fjie.pw;
guangzhoudingefapiao.fjie.pw;
shenzhendingefapiao.fjie.pw;
zhongqingdingefapiao.fjie.pw;
nanjingdingefapiao.fjie.pw;
qingdaodingefapiao.fjie.pw;
shanghaidingefapiao.fjie.pw;
jinandingefapiao.fjie.pw;
shenyangdingefapiao.fjie.pw;
haerbindingefapiao.fjie.pw;
chengdudingefapiao.fjie.pw;
nanningdingefapiao.fjie.pw;
suzhoudingefapiao.fjie.pw;
changchundingefapiao.fjie.pw;
beijingdingefapiao.fjie.pw;
hangzhoudingefapiao.fjie.pw;
ningbodingefapiao.fjie.pw;
xiandingefapiao.fjie.pw;
shijiazhuangdingefapiao.fjie.pw;
zhengzhoudingefapiao.fjie.pw;
wuhandingefapiao.fjie.pw;
tianjindingefapiao.fjie.pw;
taiyuandingefapiao.fjie.pw;
haikoudingefapiao.fjie.pw;
nanjingdingefapiao.fjie.pw;
wuxidingefapiao.fjie.pw;
nanchangdingefapiao.fjie.pw;
kunmingdingefapiao.fjie.pw;
guiyangdingefapiao.fjie.pw;
lanzhoudingefapiao.fjie.pw;
xiningdingefapiao.fjie.pw;
hefeidingefapiao.fjie.pw;
fuzhoudingefapiao.fjie.pw;
xiamendingefapiao.fjie.pw;
shanghaishangpinfapiao.fjie.pw;
shanghaihuiwufapiao.fjie.pw;
shanghaiyunshufapiao.fjie.pw;
shanghaijianzhufapiao.fjie.pw;
shanghaiguanggaofapiao.fjie.pw;
beijingjianzhufapiao.fjie.pw;
beijingshangpinfapiao.fjie.pw;
guangzhoujianzhufapiao.fjie.pw;
guangzhoushangpinfapiao.fjie.pw;
beijingzengzhishuifapiao.fjie.pw;
beijingkaizengzhishuifapiao.fjie.pw;
shanghaizengzhishuifapiao.fjie.pw;
shanghaikaizengzhishuifapiao.fjie.pw;
shanghaidaikaizengzhishuifapiao.fjie.pw;
guangzhouzengzhishuifapiao.fjie.pw;
guangzhoukaizengzhishuifapiao.fjie.pw;
guangzhoudaikaizengzhishuifapiao.fjie.pw;
shenzhenzengzhishuifapiao.fjie.pw;
shenzhenkaizengzhishuifapiao.fjie.pw;
shenzhendaikaizengzhishuifapiao.fjie.pw;
wuhanzengzhishuifapiao.fjie.pw;
wuhankaizengzhishuifapiao.fjie.pw;
wuhandaikaizengzhishuifapiao.fjie.pw;
jinankaizengzhishuifapiao.fjie.pw;
jinandaikaizengzhishuifapiao.fjie.pw;
qingdaozengzhishuifapiao.fjie.pw;
qingdaokaizengzhishuifapiao.fjie.pw;
qingdaodaikaizengzhishuifapiao.fjie.pw;
nanjingzengzhishuifapiao.fjie.pw;
nanjingkaizengzhishuifapiao.fjie.pw;
nanjingdaikaizengzhishuifapiao.fjie.pw;
wuxizengzhishuifapiao.fjie.pw;
wuxikaizengzhishuifapiao.fjie.pw;
wuxidaikaizengzhishuifapiao.fjie.pw;
suzhouzengzhishuifapiao.fjie.pw;
suzhoukaizengzhishuifapiao.fjie.pw;
suzhoudaikaizengzhishuifapiao.fjie.pw;
shenyangzengzhishuifapiao.fjie.pw;
shenyangkaizengzhishuifapiao.fjie.pw;
shenyangdaikaizengzhishuifapiao.fjie.pw;
dic.Add(4, "HuHu");
var result = from pair in dic orderby pair.Key select pair;
foreach (KeyValuePair pair in result)
{
Console.WriteLine("Key:{0}, Value:{1}", pair.Key, pair.Value);
}
Console.ReadKey();
}
}
}
【执行结果】
Key:1, Value:HaHa
Key:2, Value:HiHi
Key:3, Value:HeHe
Key:4, Value:HuHu
Key:5, Value:HoHo
Dictionary的基本用法。假如
需求:现在要导入一批数据,这些数据中有一个称为公司的字段是我们数据库里已经存在了的,目前我们需要把每个公司名字转为ID后才存入数据库。
分析:每导一笔记录的时候,就把要把公司的名字转为公司的ID,这个不应该每次都查询一下数据库的,因为这太耗数据库的性能了。
解决方案:在业务层里先把所有的公司名称及相应的公司ID一次性读取出来,然后存放到一个Key和Value的键值对里,然后实现只要把一个公司的名字传进去,就可以得到此公司相应的公司ID,就像查字典一样。对,我们可以使用字典Dictionary操作这些数据。
示例:SetKeyValue()方法相应于从数据库里读取到了公司信息。
///
/// 定义Key为string类型,Value为int类型的一个Dictionary
///
///
protected Dictionary SetKeyValue()
{
Dictionary dic = new Dictionary();
dic.Add("公司1", 1);
dic.Add("公司2", 2);
dic.Add("公司3", 3);
dic.Add("公司4", 4);
return dic;
}
///
/// 得到根据指定的Key行到Value
///
protected void GetKeyValue()
{
Dictionary myDictionary = SetKeyValue();
//测试得到公司2的值
int directorValue = myDictionary["公司2"];
Response.Write("公司2的value是:" + directorValue.ToString());
}