C# linq语句学习
using System;
using System.Linq; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] arr = { , , , , , };
var a = from num in arr
where num % ==
select num;
foreach (var i in a)
{
Console.WriteLine(i);
}
Console.ReadKey();
var b = arr.Where(x => x % == ).OrderBy(n=>n); foreach (var i in b)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
}
}
使用LINQ查询.NET对象
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>()
{
new Student() { Name="张三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="女", Age= }
};
var query = from item in list
where item.Name.StartsWith("张") && item.sex == "男"
select item;
foreach(var item in query)
{
Console.WriteLine(item.Name);
}
Console.ReadKey(); }
}
}
查询语句用用查询方法代替:
var query = list.Where(item => item.Name.StartsWith("张") && item.sex == "男");
查询类型是ArrayList的是需要在变量前增加类型的定义:
using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList()
{
new Student() { Name="张三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="女", Age= }
};
var query = from Student item in list where item.Name.StartsWith("张") && item.sex == "男" select item;
foreach (Student item in query)
{
Console.WriteLine(item.Name);
}
Console.ReadKey(); }
}
}
用索引器筛选:
List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age= },
new Student(){ Name="张三丰", Sex="男", Age= },
new Student(){ Name="李三丰", Sex="男", Age= },
new Student(){ Name="李三丰", Sex="男", Age= },
new Student(){ Name="李四", Sex="女", Age= },
};
var query = list.Where(( item,index )=>item.Name.StartsWith("李")&&item.Sex=="女"&&index%==);
foreach(Student stu in query){
Console.WriteLine(stu.Name);
}
类型筛选:
object[] arr = {"str",,,"mlh"};
var query = arr.OfType<string>();
foreach(var item in query){
Console.WriteLine(item);
}
复合的from子句
List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query =from item in list
from age in item.Age
where age==
select item;
foreach(Student stu in query){
Console.WriteLine(stu.Name);
}
select子句:
List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query =from item in list
from age in item.Age
where age==
select item.Name;
foreach(string item in query){
Console.WriteLine(item);
}
查询方法:
List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query = list.Where((item) => {
return item.Name.StartsWith("李");
}).Select(item=>item.Name);
foreach(string item in query){
Console.WriteLine(item);
}
group by 分组:
List<Student> list = new List<Student>(){
new Student(){Name="****",Sex="男",Age=new int[]{,}},
new Student(){Name="***",Sex="女",Age=new int[]{,}},
new Student(){Name="***",Sex="女",Age=new int[]{,}},
new Student(){Name="石盐",Sex="男",Age=new int[]{,}},
new Student(){Name="梅盐",Sex="男",Age=new int[]{,}},
};
var query = from item in list
group item by item.Sex;foreach(var stu in query){
foreach(var item in stu){
Console.WriteLine(item.Name);
}
}
C# linq语句学习的更多相关文章
- 常见LINQ语句学习
1.读取20条最新留言 public ActionResult Index() { var mostRecentEntries = (from entry in _db.Entries orderby ...
- LINQ学习系列-----2.1 一个Linq语句
Linq语句介绍 先上源码: 上述代码涵盖了Linq新特性: 代码解析: 针对本文中的几点特性,前面有文章进行阐述.
- [转]LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg
在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别 在写LINQ语句的时候,往往会看到.AsEnumerable() 和 .AsQueryable() .例如: s ...
- 动态拼接linq 使用Expression构造动态linq语句
最近在做动态构造linq语句,从网上找了很多,大多数,都是基于一张表中的某一个字段,这样的结果,从网上可以搜到很多.但如果有外键表,需要动态构造外键表中的字段,那么问题来了,学挖掘机哪家强?哦,不是, ...
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- [转]在Entity Framework中使用LINQ语句分页
本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...
- Linq语句基础
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- Vue CLI 3+tinymce 5富文本编辑器整合
基于Vue CLI 3脚手架搭建的项目整合tinymce 5富文本编辑器,vue cli 2版本及tinymce 4版本参考:https://blog.csdn.net/liub37/article/ ...
- Python目录:
Python基础 python书写规范--消去提示波浪线 Python 列表(list) Python字符串 Python字典 Python文件操作 Python函数 Python函数-装饰器 Pyt ...
- Python实现简单的HttpServer
要写一个类似tomcat的简易服务器,首先需弄清楚这几点: 1. 客户端(Client)和服务端(Server)的角色及作用 角色A向角色B请求数据,这时可以把A视为客户端,B视为服务端.客户端的主要 ...
- Nginx 和 IIS 实现动静分离(转)
转载地址:https://www.cnblogs.com/paul8339/p/5825201.html 动静分离,说白了,就是将网站静态资源(HTML,JavaScript,CSS,img等文件)与 ...
- IdentityServer4 密码模式认证
授权服务器设置 添加用户 添加测试用户,也可以从数据库查 public static List<TestUser> GetTestUser() { return new List< ...
- 习题集1b: 额外练习 (可选)
1.练习:4.样本特点 用来描述样本的数字叫做? □ 参数 (√)□ 统计量 □ 变量 □ 常数 2.练习:5.大一学生体重情况 Freidman 博士在一所大学任教,她记录了所在大学每位大一新生 ...
- git更新Activemq在远程github上指定版本的源码步骤
第一步:根据地址克隆源码 (activemq-5.9) $ git clone https://github.com/apache/activemq.git 第二步:查看远程源码的版本清单 ( ...
- js检测访问设备
if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { }
- teamviewer连接未就绪的解决(Manjaro Linux)
放假回家,想设置一下teamviewer,结果一直报错"TeamViewer not ready. Please check your connection" 查了一通,发现这个方 ...
- 002.RHCS-配置Ceph存储集群
一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...