C#中的选择查询相关
2024-10-19 23:54:46
看代码实现:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test { class Program { static void Main(string[] args) { List<Test> listData = new List<Test>{ new Test { Name = "jiangjing", Age = 18, Sex = "boy"}, new Test { Name = "wenting", Age = 17, Sex = "girl"}, new Test { Name = "caihong", Age = 80, Sex = "boy"}, new Test { Name = "caiyun", Age = 90, Sex = "boy"} }; //string[] names = {"jiangjing", "wenting", "caihong", "test"}; //1.使用查询方式 //var res = from n in names // where n.EndsWith("g") // orderby n.Substring(n.Length-1) // select n; //2.使用方法方式 //var res = names.OrderBy(n=>n).Where(n=>n.EndsWith("g")); //foreach (var name in res) // Console.WriteLine(name); //3.聚合函数的相关使用,分析大型数据结果 //var resultData = listData.Where(t=>t.Age<20).Select(t=>t.Age); //4.投影:在查询中新建对象 //var resultData = listData.Where(t => t.Sex == "boy").Select(t => new { Name = t.Name, Age = t.Age }); //foreach (var item in resultData) // Console.WriteLine(item); //5.单值选择:Distinct()函数 //var resultData = listData.Where(t => t.Sex == "boy").Select(t => new { Name = t.Name, Age = t.Age }).Distinct(); //foreach (var item in resultData) // Console.WriteLine(item); //6.Any和All方法 //bool falg1 = resultData.Any(t=>t.Name=="jiangjing"); //bool falg2 = resultData.All(t => t.Name == "jiangjing"); //Console.Write("{0} {1}", falg1, falg2); //7.多级排序,使用方法也行orderby,thenby...,不过写起来还没这个清晰 //var resultData = from t in listData // orderby t.Age, t.Name // select new { Name = t.Name, Age = t.Age}; //foreach (var item in resultData) // Console.WriteLine(item); //8.组合查询 //var resultData = from t in listData // group t by t.Sex into tg // select new { SumAge = tg.Sum(t => t.Age), Sex = tg.Key }; //foreach (var item in resultData) // Console.WriteLine(item); //9.查询结果使用take函数或者skip函数 //var resultData = listData.Where(t=>t.Age<20); //foreach (var item in resultData.Take(1))//take函数是取结果集的前n个 // Console.WriteLine(item); //foreach (var item in resultData.Skip(1))//skip函数则是跳过结果集的前n个 // Console.WriteLine(item); Console.ReadKey(); } } class Test { public string Name { get; set; } public int Age { get; set; } public string Sex { get; set; } public override string ToString() { return "名字:" + Name + "\n" + "年龄:" + Age; } } }
最新文章
- Objective-C之KVC、KVO
- BZOJ3434 [Wc2014]时空穿梭
- frame嵌套的学习
- android 焦点问题
- 100套新鲜免费的PS笔刷下载
- 【转】AWK常用
- Spark中集群相关概念
- 三、调试IIS启动域名配置
- 剑指offer 11. 位运算 二进制中1的个数
- 完全数java
- 【转】强化学习(一)Deep Q-Network
- jvm系列
- springcloud Ribbon学习笔记二
- ios9 适配的坑
- 【转】亲测plsql Developer配置免安装oralce客户端步骤
- Java并发编程 ReentrantLock 源码分析
- 阿里云Redis开发规范[转]
- php如何判断IP为有效IP地址
- easyui-combobox url绑定后台json数据问题
- LeetCode: 31. Next Permutation (Medium)
热门文章
- 如何用crontab运行一个图形化界面的程序
- C++:获取数组长度
- SQL Server ->;>; GROUPING SETS, CUBE, ROLLUP, GROUPING, GROUPING_ID
- onTouch与onClick事件的关系
- Git忽略文件方法【转】
- env1
- 第7篇 ORACLE EBS DEMO虚拟机环境的安装
- [CFgym101061C]Ramzi(贪心,双条件最短路)
- HeadFirst 13 (包装器, 过滤器) not Finish
- short s1 = 1; s1 = s1 + 1;和 s1 += 1;