简介:

LINQ 提供一种统一的方式,让我们能在C#语言中直接查询和操作各种数据。​​

  • LINQ是用来描述数据访问总体方式的术语。LINQ to Object是针对实现了IEnumerable<T>的对象的LINQ;LINQ to SQL是针对关系数据库的LINQ;LINQ to XML是针对XML文档的LINQ。​

  • LINQ除了提供一个统一的API来操作各种数据,并且为我们提供了编译时类型检查和动态创建查询表达式的能力。​

LIINQ相关的C#语言功能

1.隐式类型局部变量

  • 局部变量用var, 指示编译器根据初始化语句右侧的的表达式推测它的类型​

  • 用途:​

var an=new {name=“tom”,age=18};​

var an=linq 语句;

2.自动属性

public string FirstName​{​get;set ;}

3.对象初始化器​

  • Point p = new Point { X = 10, Y = 20 };​

  • var person = from a in list select new { name=a.FirstName};

4.匿名类型

  • var worker = new { FirstName = "Vincent", LastName = "Ke", Level = 2 };​

  • 匿名类型使用new 运算符和对象初始值设定项创建的​

  • 匿名类型通常在查询表达式的select 字句中​

  • 匿名类型是有一个或多个公共只读 属性组成的类型,没有其他成员(方法、事件)​

  • 匿名类型是直接从对象派生的引用类型,编译器会提供一个名称​

  • 如果多个匿名类型有相同属性(顺序、个数、类型),编译器将这些匿名类型视为相同类型

5.扩展方法​

6 Lambda表达式​

  • List<int> evenNumbers = list.FindAll(i => (i % 2) == 0);​

  • 格式:​

  • (参数列表)=>表达式或语句块​

  • (x,y)=>x*y //多参数,隐式类型=>表达式​

  • x=>x*10 //单参数,隐式类型=>表达式​

  • X=>{return x*8}         //单参数,隐式类型=>语句块​

  • (int i)=>x*8 //单参数,显示类型=>表达式​

LINQ简介

LINQ体验(4)——LINQ简介和LINQ to SQL语句之Where

单条件  多条件  First()形式

LINQ to SQL语句基本查询操作部分

LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg

LINQ体验(6)——LINQ to SQL语句之Join和Order By

LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains

LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods

LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

LINQ to SQL语句高级部分

LINQ体验(10)——LINQ to SQL语句之开放式并发控制和事务

LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法

LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载

LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL

LINQ体验(14)——LINQ to SQL语句之存储过程

LINQ体验(15)——LINQ to SQL语句之用户定义函数

LINQ体验(16)——LINQ to SQL语句之DataContext

LINQ体验(17)——LINQ to SQL语句之动态查询

LINQ体验(18)——LINQ to SQL语句之视图和继承支持

Linq 学习笔记的更多相关文章

  1. linq学习笔记

    最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...

  2. (转)Linq学习笔记

    写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Lin ...

  3. C#之Linq学习笔记【转】

    写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...

  4. C# Linq 学习笔记

    刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// ...

  5. C# LINQ学习笔记一:走进LINQ的世界

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5832322.html,记录一下学习过程以备后续查用. LINQ 简介:     语言集成查询(LINQ)是Vi ...

  6. LINQ 学习笔记(1)

    学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Selec ...

  7. C# LINQ学习笔记五:LINQ to XML

    本笔记摘抄自:https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html,记录一下学习过程以备后续查用. 一.生成xml 1.1创建简单的 ...

  8. C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方 ...

  9. C# LINQ学习笔记三:LINQ to OBJECT之操作字符串

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...

  10. C# LINQ学习笔记二:LINQ标准查询操作概述

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...

随机推荐

  1. Leetcode#146 LRU Cache

    原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...

  2. Python中的正则表达式regular expression

    1 match = re.search(pat,str)  If the search is successful, search() returns a match object or None o ...

  3. jquery中如何退出each循环

    在for循环中我们用continue退出当前循环,进入下一循环.用break跳出所有循环. 可是在jQuery中却并没有这两条命令,那么如何退出each循环呢? 经过查询得知: 在jQuery中用 r ...

  4. 抛弃jQuery 深入原生的JavaScript

    虽然我已经做网站建设工作10多年了,但我从最近3年才开始更多地学习如何更好的将纯JavaScript用于工作中,而不总是将jQuery考虑在第一位.现在我每天学习很多东西.这个过程让我觉得Adtile ...

  5. C#&Java重学笔记(集合比较和转换)

    C#部分: 1.C#中集合有三种,数组类,ArrayList,和字典键值对类,一般也可以自定义集合,但是自定义集合的类型也只有这三类. 2.自定义集合实现三类集合的方法:前两者需要继承Collecti ...

  6. URAL 1517 Freedom of Choice(后缀数组,最长公共字串)

    题目 输出最长公共字串 #define maxn 200010 int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int cmp(int *r,int a,int b, ...

  7. 利用正则表达式解析URL

    -(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress {      NSError *error;      NSS ...

  8. 视频转换工具 Transmageddon

    点这里 Transmageddon 是一个采用 Python 语言开发的视频转换工具,支持输出几乎所有的视频格式,同时也可以生成指定平台下的视频格式. 软件界面如下图所示

  9. jvm性能调优---jstat的用法

    Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令 ...

  10. DFS+剪枝 HDOJ 5323 Solve this interesting problem

    题目传送门 /* 题意:告诉一个区间[L,R],问根节点的n是多少 DFS+剪枝:父亲节点有四种情况:[l, r + len],[l, r + len - 1],[l - len, r],[l - l ...