Linq 学习笔记
简介:
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 学习笔记的更多相关文章
- linq学习笔记
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...
- (转)Linq学习笔记
写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Lin ...
- C#之Linq学习笔记【转】
写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...
- C# Linq 学习笔记
刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// ...
- C# LINQ学习笔记一:走进LINQ的世界
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5832322.html,记录一下学习过程以备后续查用. LINQ 简介: 语言集成查询(LINQ)是Vi ...
- LINQ 学习笔记(1)
学习资源参考 : http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 常用方法是 Where, OrderBy, Selec ...
- C# LINQ学习笔记五:LINQ to XML
本笔记摘抄自:https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html,记录一下学习过程以备后续查用. 一.生成xml 1.1创建简单的 ...
- C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方 ...
- C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...
- C# LINQ学习笔记二:LINQ标准查询操作概述
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...
随机推荐
- Leetcode#146 LRU Cache
原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...
- Python中的正则表达式regular expression
1 match = re.search(pat,str) If the search is successful, search() returns a match object or None o ...
- jquery中如何退出each循环
在for循环中我们用continue退出当前循环,进入下一循环.用break跳出所有循环. 可是在jQuery中却并没有这两条命令,那么如何退出each循环呢? 经过查询得知: 在jQuery中用 r ...
- 抛弃jQuery 深入原生的JavaScript
虽然我已经做网站建设工作10多年了,但我从最近3年才开始更多地学习如何更好的将纯JavaScript用于工作中,而不总是将jQuery考虑在第一位.现在我每天学习很多东西.这个过程让我觉得Adtile ...
- C#&Java重学笔记(集合比较和转换)
C#部分: 1.C#中集合有三种,数组类,ArrayList,和字典键值对类,一般也可以自定义集合,但是自定义集合的类型也只有这三类. 2.自定义集合实现三类集合的方法:前两者需要继承Collecti ...
- 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, ...
- 利用正则表达式解析URL
-(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress { NSError *error; NSS ...
- 视频转换工具 Transmageddon
点这里 Transmageddon 是一个采用 Python 语言开发的视频转换工具,支持输出几乎所有的视频格式,同时也可以生成指定平台下的视频格式. 软件界面如下图所示
- jvm性能调优---jstat的用法
Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令 ...
- DFS+剪枝 HDOJ 5323 Solve this interesting problem
题目传送门 /* 题意:告诉一个区间[L,R],问根节点的n是多少 DFS+剪枝:父亲节点有四种情况:[l, r + len],[l, r + len - 1],[l - len, r],[l - l ...