LINQ巩固

  1. LINQ过滤运算符

    Where 基于谓词函数过滤值

    测试例子如下:
public class TestModel
{
public string Name { get; set; }
public string Age { get; set; }
} List<TestModel> lst = new List<TestModel>()
{
new TestModel(){Name = "张三" },
new TestModel(){Name = "李四" },
};
var querys1 = from item in lst where item.Name == "李四" select item;
var querys2 = lst.Where(item => item.Name == "李四");
  1. LINQ Join操作
!运算符 描述 查询语法
Join 运算符连接两个序列配键的基础 join...in...on...equals...
GroupJoin 连接连个序列和组匹配元素 join...in...on...equals...into

测试例子:

··· C#

List lst = new List()

        {
new TestModel(){Name = "张三", Age = "23" },
new TestModel(){Name = "李四", Age = "43" },
};
List<CameraModel> lstCamera = new List<CameraModel>()
{
new CameraModel(){Name = "张三", Price = "sfsf" },
new CameraModel(){Name = "张三", Price = "测试工程时" },
new CameraModel(){Name = "李四", Price = "买菜的" }
};

var query = from it in lst

join item in lstCamera on it.Name equals item.Name

select new

{

it.Name,

it.Age,

item.Price

};

···

  1. LINQ投影操作
运算符 描述
Select 操作转换函数的基础项目值
SelectMany 操作项目的值是根据上的转换函数,以及拼合成一个单一的序列的序列
var querys = from ite in lst from item in lstCamera select ite;
  1. LINQ排序运算符
操作符 描述
OrderBy 按升序操作排序值
OrderByDescending 按降序排序操作值
ThenBy 执行二次元排序按升序
ThenByDescending 执行二次排序以降序
Reverse 进行反转的元素顺序
  1. LINQ分组操作
操作 描述
GroupBy 组织项目的顺序组,并将其返回IEnumerable类型的集合
ToLookup 执行在其中的密钥对的序列被返回分组运算
  1. LINQ转换操作
操作符 描述
AsEnumerable 返回输入类型为IEnumerable T
AsQueryable IEnumerable被转换为IQueryable
Case 执行一个集合的元素的转换到一个指定类型
OfType 在它们的基础上过滤值,这取决于它们的能力,以被转换为特定类型
ToArray 转换为数组
ToDictionary 转为字典
ToList 转为列表
ToLookup 强制执行查询,并把元素融入一个Lookup TKey,TElement键选择器函数
  1. LINE级联
操作符 描述
Concat 两个序列被连接为一个单一的一个序列
  1. LINQ聚合
操作 描述
Aggergate 对集合的值进行操作执行自定义聚合操作
Average 计算集合的平均值
Count 计算数量
LongCount() 计算一个巨大集合中的数量
Max 找出一个集合中的最大值
Min 找出一个最小值
Sum 计算总和
  1. LINQ量词操作
操作 描述
All 返回一个值'true',如果序列中的所有元素满足谓词条件
Any 确定通过搜索一个序列是否相同的任何元素满足规定条件
Contains 如果找到某个特定元素有一个序列返回一个'true'的值,如果序列不包含特定的元素,'false‘值返回
  1. LINQ分区操作符
操作 描述
Skip 跳过一些指定的序列中一些元素,并返回其余的
SkipWhile 相同,唯一的例外调到多个元素,跳过的是由一个布尔条件指定
Take 采取元素指定数量的序列,并跳过其余的
TakeWhile 相同,布尔条件指定
  1. LINQ元素操作符
操作 描述
ElementAt 返回一个特定的索引中的一个元素存在于一个集合
ElementAtOrDefault 相同与ElementAt,未找到返回默认值
First 检索集合的满足的第一个元素
FirstOrDefault 相同,未检索到返回默认值
Last 用法同上
LastOrDefault 同上
Single 返回集合唯一元素或唯一元素满足的一定条件
SingleOrDefault 不解释

LINQ巩固的更多相关文章

  1. Linq表达式、Lambda表达式你更喜欢哪个?

    什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...

  2. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  3. [C#] 走进 LINQ 的世界

    走进 LINQ 的世界 序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串 ...

  4. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  5. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  6. .NET深入实战系列—Linq to Sql进阶

    最近在写代码的过程中用到了Linq查询,在查找资料的过程中发现网上的资料千奇百怪,于是自己整理了一些关于Linq中容易让人困惑的地方. 本文全部代码基于:UserInfo与Class两个表,其中Cla ...

  7. LINQ Group By操作

    在上篇文章 .NET应用程序与数据库交互的若干问题 这篇文章中,讨论了一个计算热门商圈的问题,现在在这里扩展一下,假设我们需要从两张表中统计出热门商圈,这两张表内容如下: 上表是所有政区,商圈中的餐饮 ...

  8. Entity Framework 6 Recipes 2nd Edition(11-9)译 -> 在LINQ中使用规范函数

    11-9. 在LINQ中使用规范函数 问题 想在一个LINQ查询中使用规范函数 解决方案 假设我们已经有一个影片租赁(MovieRental )实体,它保存某个影片什么时候租出及还回来,以及滞纳金等, ...

  9. Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数

    11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...

  10. Entity Framework 6 Recipes 2nd Edition(13-6)译 -> 自动编译的LINQ查询

    问题 你想为多次用到的查询提高性能,而且你不想添加额外的编码或配置. 解决方案 假设你有如Figure 13-8 所示的模型 Figure 13-8. A model with an Associat ...

随机推荐

  1. Facet constraits error: Spring 4.1 requires Java 1.6 or newer.

    问题来源: 在高版本的myeclipse,同步低版本的myeclipse提交的项目,可能会出现配置不一致. 问题描述: spring4.1不支持jdk1.6 注:在下载项目到本地的时候,myeclip ...

  2. [libxml2]_[XML处理]_[使用libxml2的xpath特性修改xml文件内容]

    场景: 1.在软件需要保存一些配置项时,使用数据库的话比较复杂,查看内容也不容易.纯文本文件对utf8字符支持也不好. 2.这时候使用xml是最佳选择,使用跨平台库libxml2. 3.基于xpath ...

  3. [原]Machine Learing 入门 —— 开门第0篇

    一.最近懒了 7月没怎么写博客,倒是一直在学Machine Learning的入门知识,在这里给大家推荐一个不错的自学网站:https://www.coursera.org/ ,Andrew Ng是联 ...

  4. Android(java)学习笔记11:生产者和消费者之等待唤醒机制

    1. 首先我们根据梳理我们之前Android(java)学习笔记70中,关于生产者和消费者程序思路: 2. 下面我们就要重点介绍这个等待唤醒机制: (1)第一步:还是先通过代码体现出等待唤醒机制 下面 ...

  5. “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法

    “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> 接口或 IQueryable& ...

  6. 2018.11.1 Hibernate中的Mapper关系映射文件

    Customer.hbm.xml 基本的参数都在里面了 <?xml version="1.0" encoding="UTF-8"?> <!DO ...

  7. Android学习笔记_32_通过WebView实现JS代码与Java代码互相通信

    webview两种实现方法,覆盖onKeyDown()方法 缓存 WebSettings应用注意的几个问题 1.要实现JS代码与Java代码互相通信,需要通过Android的WebView控件,在视图 ...

  8. 【题解】洛谷P1495 曹冲养猪 (中国剩余定理)

    洛谷P1495:https://www.luogu.org/problemnew/show/P1495 思路 建立了a个猪圈 有b头猪没有去处 即x≡b(mod a) x即是ans 把所有的关系全部列 ...

  9. 全文搜索引擎 Elasticsearch 安装踩坑记录

    一.安装 Elastic 需要 Java 8 环境.如果你的机器还没安装 Java 安装完 Java,就可以跟着官方文档安装 Elastic.直接下载压缩包比较简单. $ wget https://a ...

  10. js中实现页面跳转(返回前一页、后一页)

    一:JS 重载页面,本地刷新,返回上一页 代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a ...