LINQ表达式实例复习
来源:互联网 发布:淘宝登录注册流程 编辑:程序博客网 时间:2024/06/05 03:53
实例一:条件查询using System;using System.Collections.Generic;using System.Linq;namespace myfirst{ internal class Test { public static void Main() { //初始化武林高手 var master = new List<MartialArtsMaster> { new MartialArtsMaster {Id = 1, Name = "黄蓉", Age = 18, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 9}, new MartialArtsMaster {Id = 2, Name = "洪七公", Age = 70, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 10}, new MartialArtsMaster {Id = 3, Name = "郭靖", Age = 22, MenPai = "丐帮", Kongfu = "降龙十八掌", Level = 10}, new MartialArtsMaster {Id = 4, Name = "任我行", Age = 50, MenPai = "明教", Kongfu = "葵花宝典", Level = 1}, new MartialArtsMaster {Id = 5, Name = "东方不败", Age = 35, MenPai = "明教", Kongfu = "葵花宝典", Level = 10}, new MartialArtsMaster {Id = 6, Name = "林平之", Age = 23, MenPai = "华山", Kongfu = "葵花宝典", Level = 7}, new MartialArtsMaster {Id = 7, Name = "岳不群", Age = 50, MenPai = "华山", Kongfu = "葵花宝典", Level = 8}, new MartialArtsMaster {Id = 8, Name = "令狐冲", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10}, new MartialArtsMaster {Id = 9, Name = "梅超风", Age = 23, MenPai = "桃花岛", Kongfu = "九阴真经", Level = 8}, new MartialArtsMaster {Id = 10, Name = "黄药师", Age = 23, MenPai = "梅花岛", Kongfu = "弹指神通", Level = 10}, new MartialArtsMaster {Id = 11, Name = "风清扬", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10} }; //初始化武学 var kongfu = new List<Kongfu> { new Kongfu {Id = 1, Name = "打狗棒法", Power = 90}, new Kongfu {Id = 2, Name = "降龙十八掌", Power = 95}, new Kongfu {Id = 3, Name = "葵花宝典", Power = 100}, new Kongfu {Id = 4, Name = "独孤九剑", Power = 100}, new Kongfu {Id = 5, Name = "九阴真经", Power = 100}, new Kongfu {Id = 6, Name = "弹指神通", Power = 100} }; //使用lingq做查询 var res = from m in master //from后面设置查询的集合 where m.Level > 8 &&m.MenPai=="丐帮" //通过&&表达式来添加限制条件 //where后面跟上查询的条件 select m.Name; //表示把m的集合返回 foreach (var temp in res) { Console.WriteLine(temp); } } }}实例二:做连接查询using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;namespace myfirst{ internal class Test { public static void Main() { //初始化武林高手 var master = new List<MartialArtsMaster> { new MartialArtsMaster {Id = 1, Name = "黄蓉", Age = 18, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 9}, new MartialArtsMaster {Id = 2, Name = "洪七公", Age = 70, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 10}, new MartialArtsMaster {Id = 3, Name = "郭靖", Age = 22, MenPai = "丐帮", Kongfu = "降龙十八掌", Level = 10}, new MartialArtsMaster {Id = 4, Name = "任我行", Age = 50, MenPai = "明教", Kongfu = "葵花宝典", Level = 1}, new MartialArtsMaster {Id = 5, Name = "东方不败", Age = 35, MenPai = "明教", Kongfu = "葵花宝典", Level = 10}, new MartialArtsMaster {Id = 6, Name = "林平之", Age = 23, MenPai = "华山", Kongfu = "葵花宝典", Level = 7}, new MartialArtsMaster {Id = 7, Name = "岳不群", Age = 50, MenPai = "华山", Kongfu = "葵花宝典", Level = 8}, new MartialArtsMaster {Id = 8, Name = "令狐冲", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10}, new MartialArtsMaster {Id = 9, Name = "梅超风", Age = 23, MenPai = "桃花岛", Kongfu = "九阴真经", Level = 8}, new MartialArtsMaster {Id = 10, Name = "黄药师", Age = 23, MenPai = "梅花岛", Kongfu = "弹指神通", Level = 10}, new MartialArtsMaster {Id = 11, Name = "风清扬", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10} }; //初始化武学 var kongfu = new List<Kongfu> { new Kongfu {Id = 1, Name = "打狗棒法", Power = 90}, new Kongfu {Id = 2, Name = "降龙十八掌", Power = 95}, new Kongfu {Id = 3, Name = "葵花宝典", Power = 100}, new Kongfu {Id = 4, Name = "独孤九剑", Power = 100}, new Kongfu {Id = 5, Name = "九阴真经", Power = 100}, new Kongfu {Id = 6, Name = "弹指神通", Power = 100} }; //使用lingq做查询 var res = from m in master join k in kongfu on m.Kongfu equals k.Name //做连接查询(按照武术的名字做连接) where k.Power>90 //在连接的基础上分离出power大于90的 select new {master = m, kongfu2 = k}; foreach (var temp in res) { Console.WriteLine(temp); } } }}实例三:做分组操作using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;namespace myfirst{ internal class Test { public static void Main() { //初始化武林高手 var master = new List<MartialArtsMaster> { new MartialArtsMaster {Id = 1, Name = "黄蓉", Age = 18, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 9}, new MartialArtsMaster {Id = 2, Name = "洪七公", Age = 70, MenPai = "丐帮", Kongfu = "打狗棒法", Level = 10}, new MartialArtsMaster {Id = 3, Name = "郭靖", Age = 22, MenPai = "丐帮", Kongfu = "降龙十八掌", Level = 10}, new MartialArtsMaster {Id = 4, Name = "任我行", Age = 50, MenPai = "明教", Kongfu = "葵花宝典", Level = 1}, new MartialArtsMaster {Id = 5, Name = "东方不败", Age = 35, MenPai = "明教", Kongfu = "葵花宝典", Level = 10}, new MartialArtsMaster {Id = 6, Name = "林平之", Age = 23, MenPai = "华山", Kongfu = "葵花宝典", Level = 7}, new MartialArtsMaster {Id = 7, Name = "岳不群", Age = 50, MenPai = "华山", Kongfu = "葵花宝典", Level = 8}, new MartialArtsMaster {Id = 8, Name = "令狐冲", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10}, new MartialArtsMaster {Id = 9, Name = "梅超风", Age = 23, MenPai = "桃花岛", Kongfu = "九阴真经", Level = 8}, new MartialArtsMaster {Id = 10, Name = "黄药师", Age = 23, MenPai = "梅花岛", Kongfu = "弹指神通", Level = 10}, new MartialArtsMaster {Id = 11, Name = "风清扬", Age = 23, MenPai = "华山", Kongfu = "独孤九剑", Level = 10} }; //初始化武学 var kongfu = new List<Kongfu> { new Kongfu {Id = 1, Name = "打狗棒法", Power = 90}, new Kongfu {Id = 2, Name = "降龙十八掌", Power = 95}, new Kongfu {Id = 3, Name = "葵花宝典", Power = 100}, new Kongfu {Id = 4, Name = "独孤九剑", Power = 100}, new Kongfu {Id = 5, Name = "九阴真经", Power = 100}, new Kongfu {Id = 6, Name = "弹指神通", Power = 100} }; //使用lingq做查询 var res = from m in master join k in kongfu on m.Kongfu equals k.Name //将两个表进行连接 group k by k.Name into g //通过功夫的名字进行分组 等价于:(into g) select new {m=g.Key, k=g.Count()}; foreach (var temp in res) { Console.WriteLine(temp); } } }}
0 0
- LINQ表达式实例复习
- linq复习
- c#中正则表达式使用实例复习
- linq实例
- linq实例
- Linq 表达式和labmda表达式
- 初识LINQ表达式
- 查询表达式(LINQ)简介
- 查询表达式(LINQ)简介
- LINQ 查询表达式
- 查询表达式(LINQ)简介
- LINQ 查询表达式学习
- 增加的 LINQ 表达式
- LINQ表达式总结笔记
- LINQ表达式总结笔记
- LINQ语句表达式~~
- 查询表达式Linq
- 查询表达式(LINQ)简介
- bandwagonhost一键安装openvpn制作IOS.open配置文件
- 原 GCC一些有用的技巧
- 利用proguard对java web工程代码混淆
- Spring Data MongoDB 查询指定字段
- MySQL5.5.42 主从复制架构搭建
- LINQ表达式实例复习
- xenomai 3.0.2 -任务切换《xnarch_switch_to》
- Android 百度地图打包后获取不到地址问题
- 【NOIP2015提高组Day1】信息传递
- “三个月就是一年”——程序员的时间观念
- Oracle 使用spool导出 sqlldr导入后少数据情况
- 第二周项目3-两种排序算法的运行时间
- iOS arm64 armv7 i386 架构
- 正则表达式反斜杠匹配问题