C#中Dictionary的⽤法及⽤途实例⼀、Dictionary<string, string>是⼀个泛型
他本⾝有集合的功能有时候可以把它看成数组
他的结构是这样的:Dictionary<[key], [value]>
他的特点是存⼊对象是需要与[key]值⼀⼀对应的存⼊该泛型
通过某⼀个⼀定的[key]去到对应的值
举个例⼦:
//实例化对象
Dictionary<int, string> dic = new Dictionary<int, string>();
//对象打点添加
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
//注意,键相当于到对应值的唯⼀标识,所以不能重复
//但是值可以重复
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------writeline方法的作用
⼆、c# 对dictionary类进⾏排序⽤什么接⼝实现
如果使⽤.Net Framework 3.5的话,事情就很简单了。呵呵。
如果不是的话,还是⾃⼰写排序吧。
View Code
1using System;
2
3using System.Collections.Generic;
4
5using System.Text;
6
7using System.Linq;
8
9namespace DictionarySorting
10
11 {
12
13class Program
14
15 {
16
17static void Main(string[] args)
18
19 {
20
21 Dictionary<int, string> dic = new Dictionary<int, string>();
23 dic.Add(1, "HaHa");
24
25 dic.Add(5, "HoHo");
26
27 dic.Add(3, "HeHe");
28
29 dic.Add(2, "HiHi");
30
31 dic.Add(4, "HuHu");
32
33 var result = from pair in dic orderby pair.Key select pair;
34
35foreach (KeyValuePair<int, string> pair in result)
36
37 {
38
39 Console.WriteLine("Key:{0}, Value:{1}", pair.Key, pair.Value);
40
41 }
42
43 Console.ReadKey();
44
45 }
46
47 }
48
49 }
50
51【执⾏结果】
52
53 Key:1, Value:HaHa
54
55 Key:2, Value:HiHi
56
57 Key:3, Value:HeHe
58
59 Key:4, Value:HuHu
60
61 Key:5, Value:HoHo
================================================================================
三、Dictionary的基本⽤法。假如
需求:现在要导⼊⼀批数据,这些数据中有⼀个称为公司的字段是我们数据库⾥已经存在了的,⽬前我们需要把每个公司名字转为ID后才存⼊数据库。
分析:每导⼀笔记录的时候,就把要把公司的名字转为公司的ID,这个不应该每次都查询⼀下数据库的,因为这太耗数据库的性能了。
解决⽅案:在业务层⾥先把所有的公司名称及相应的公司ID⼀次性读取出来,然后存放到⼀个Key和Value的键值对⾥,然后实现只要把⼀个公司的名字传进去,就可以得到此公司相应的公司ID,就像查字典⼀样。对,我们可以使⽤字典Dictionary操作这些数据。
⽰例:SetKeyValue()⽅法相应于从数据库⾥读取到了公司信息。
View Code
1///<summary>
2
3///定义Key为string类型,Value为int类型的⼀个Dictionary
4
5///</summary>
6
7///<returns></returns>
8
9protected Dictionary<string, int> SetKeyValue()
10
11 {
12
13 Dictionary<string, int> dic = new Dictionary<string, int>();
14
15 dic.Add("公司1", 1);
16
17 dic.Add("公司2", 2);
18
19 dic.Add("公司3", 3);
20
21 dic.Add("公司4", 4);
22
23return dic;
24
25 }
27///<summary>
28
29///得到根据指定的Key⾏到Value
30
31///</summary>
32
33protected void GetKeyValue()
34
35 {
36
37 Dictionary<string, int> myDictionary = SetKeyValue();
38
39//测试得到公司2的值
40
41int directorValue = myDictionary["公司2"];
42
43 Response.Write("公司2的value是:" + directorValue.ToString()); 44
45 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论