c#字典dictionary绑定datagridview如何排序 5

doublem;Dictionary<int,double>dic=newDictionary<int,double>();m=0.26531*sim1+0.22449*... double m;
Dictionary<int, double> dic = new Dictionary<int, double>();
m = 0.26531 * sim1 + 0.22449 * sim2 + 0.18367 * sim3 + 0.14286 *sim4 +0.10204 * sim5 + 0.06122 * sim6 + 0.0041 * sim7;
dic.Add(int.Parse(tl.GetValue(0).ToString()), m);
BindingSource bs = new BindingSource();
bs.DataSource = dic;
this.dataGridView1.DataSource = bs;
this.dataGridView1.Columns[0].HeaderText = "Gid";
this.dataGridView1.Columns[1].HeaderText = "相似度";

如何对“相似度”列进行排序??请高手指点!谢谢!
展开
 我来答
熊_
2012-04-05 · TA获得超过114个赞
知道答主
回答量:106
采纳率:0%
帮助的人:67.2万
展开全部

Dictionary排序

Dictionary<int, string> list = new Dictionary<int, string>();//实例化一个字典

            Random rd = new Random();//为了更加真实,创建一个生成整数的随机数生成器

            int id = 0;

            List<int> idlist = new List<int>();//用来生成100个整数,并存放到列表里idlist

            for (int i = 0; i < 100; i++)

            {

                id = rd.Next(1, 100);

                idlist.Add(id);

            }

            //遍历列表idlist,并加入字典list

            foreach (int item in idlist)

            {

                if (!list.ContainsKey(item))

                {

                    list.Add(item, "字典排序测试");

                }

            }

            //实现排序的关键方法,可以声明一个key-value结构的集合数组,这里用了List,只要符合key-value结构的数据结构都可以,

            //然后利用字典的OrderBy(升序)、OrderByDescending(降序)方法轻松实现排序功能

           //通过过linq也可以实现:var result = from pair in dic orderby pair.Key select pair

            List<KeyValuePair<int, string>> lstorder = list.OrderByDescending(c => c.Key).ToList();

            DataTable dt = new DataTable();

            dt.Columns.Add("编号");

            dt.Columns.Add("内容");

            foreach (KeyValuePair<int, string> item in lstorder)

            {

                dt.Rows.Add(item.Key, item.Value);

            }

            this.dataGridView1.DataSource = dt;//用DataGridView来展示结果

效果如下

飘逸潇洒哥
2012-04-10 · TA获得超过320个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:178万
展开全部
Dictionary<int, double> dic = new Dictionary<int, double>();
dic.OrderBy(t=>t.Value); // 顺序
或者dic.OrderByDescending(t=>t.Value); // 倒序

注:需要引用System.Linq命名空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式