使用LINQ查询泛型字典Dictionary
创始人
2024-03-29 12:51:31
0

具体步骤说明如下。

(1)创建泛型字典students(类型为Dictionary,Student1>),并添加4个Student1类型的元素,元素的键值分别为1~4。

(2)使用LINQ查询泛型字典students中的所有元素,并按照元素的总分的升序排序。查询结果保存在values变量中。

(3)把查询结果(学生姓名及总成绩)输出到Web表单中。

具体实现代码如下:

private void DictionaryQuery()

{

   StringBuilder str = new StringBuilder("");

   //构建数据源

   Dictionary students = new Dictionary();

   students.Add(1,

       new Student1

       {

           Name = "Svetlana",

           Scores = new int[] { 98, 92, 81, 60 }

       });

   students.Add(2,

       new Student1

       {

           Name = "Claire",

           Scores = new int[] { 75, 84, 91, 39 }

       });

   students.Add(3,

       new Student1

       {

           Name = "Sven",

           Scores = new int[] { 88, 94, 65, 91 }

       });

   students.Add(4,

       new Student1

       {

           Name = "Cesar",

           Scores = new int[] { 97, 89, 85, 82 }

       });

   ///查询泛型字典

   var values = from u in students

                let temp = u.Value.Scores.Sum()

                orderby temp

                select new { name = u.Value.Name, totalscore = temp };

   ///显示查询结果

   foreach (var v in values)

   {

       str.AppendFormat("学生姓名:{0},总分是:{1}
",v.name,v.totalscore);

   }

   //把查询结果显示于Web表单中

   Label1.Text = str.ToString();

}

注意到,本例中在查询中利用了聚合查询之一,即Sum操作,求出当前学生的总分。

本例的输出结果如图所示。

【编辑推荐】

  1. 浅谈LINQ to SQL集成数据库语言优劣
  2. 浅谈LINQ如何插入删除和更新数据库记录备注
  3. 基于LINQ to SQL的WEB开发三层架构

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...