ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c# dictionary的用法

c# dictionary的用法

原创 Linux操作系统 作者:fangqm 时间:2011-03-31 20:05:44 0 删除 编辑
Dictionary 它是个泛型
它本身有集合功能时,可以把它看成数组
它的结构Dictionary<[key],[value]>
它的特点:存入的对象需要与[key]的值一一对应的存入泛型
 
举例:通过某一[key]找到特定的值
//实例化对象
public 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是key,相对应的值为one,two,one
这有点类似数据库中主键一样,key不能重复,值可以重复
//判断是否存在相应的key并显示  
        if (dict.ContainsKey(2))  
        {  
            Console.WriteLine(dict[2]);  
        }  
 
        //遍历Keys    C#
        foreach (var item in dic.Keys)  
        {  
            Console.WriteLine("Key:{0}", item);  
        }  
 
        //遍历Values  
        foreach (var item in dic.Values)  
        {  
            Console.WriteLine("value:{0}", item);  
        }  
 
        //遍历整个字典  
        foreach (var item in dic)  
        {  
            Console.WriteLine("key:{0} value:{1}", item.Key, item.Value);  
        }  
 
排序问题
.net3.5使用linq //然后利用字典的OrderBy(升序)、OrderByDescending(降序)方法轻松实现排序功能
using System.Linq;
 
 //对dic进行排序
            var result = from pair in dic orderby pair.Key  select pair;
 
var dicResut = from pair in dicTest
                           orderby pair.Key
                           select pair;
 
.net2.0 排序
 List> lstorder = list.OrderByDescending(c => c.Key).ToList();

            DataTable dt = new DataTable();
            dt.Columns.Add("编号");
            dt.Columns.Add("内容");
            foreach (KeyValuePair item in lstorder)
            {
                dt.Rows.Add(item.Key, item.Value);
            }
            this.dataGridView1.DataSource = dt;//用DataGridView来展示结果

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-691411/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ListBox
请登录后发表评论 登录
全部评论

注册时间:2010-03-24

  • 博文量
    298
  • 访问量
    729458