LINQ读书笔记(一)
LINQ概念
全称是语言集成查询(Language Integrated Query),他为查询各种不同的数据源提供给了一个统一的接口。通过这个接口,查询各种数据源可以使用近乎一致的方式和语法。
既然是一个接口,就有接口的调用者和接口的实现者(或者叫做提供者Provider)。接口的调用者通常是各式各样的应用程序,对他们来说,接口的使用方式是一致的;对于接口的实现者,则根据各种不同的数据源有着各自不同的实现。根据数据源的不同,LINQ也产生了不同的分支,比如LINQ to Object、LINQ to SQL、LINQ to XML、 LINQ to Entities、 LINQ to Excel等。
LINE各分支的关系
预备知识(与LINQ有关的语言特性)
隐式类型
1. 由来
在隐式类型出现之前
我们在生命一个变量的时候,
总是要为一个变量指定他的类型,
甚至在foreach一个集合的时候,
也要为遍历集合的元素,指定变量的类型
隐式类型的出现,让程序员不用在做这个工作了
2. 使用方法:一个var解决问题
var name = "Celien"; //string name="Celine";var age = 24; //int age=24;//var sex; //错误:隐式类型的局部变量必须对它赋值//sex = "girl";var sex = "girl"; //string sex="girl";var person = new Person();//Person person=new Person()
匿名类型
由来
匿名类型允许开发者不必预先定义类型,就创建类型的实例使用方法
var cuteDog = new{Name = "Tom",age = 1,Favorites = new[] { "play", "eat", "sleep" }};
new关键字之后就直接为对象定义了属性,并且为这些属性赋值
而且,对象创建出来之后,在创建对象的方法中,还可以畅通无阻的访问对象的属性
自动属性
当我们创建一个类的时候,类中的一些私有变量对我们一点用处也没有,比如对象关系映射中的实体类,这时候我们可以利用自动实现的属性解决这个问题
class Person {private string _name;private int _age;public string Name {get { return _name; }set { _name = value; }}public int Age {get { return _age; }set { _age = value; }}//以上的属性也可以按下边的方式呈现——C#3.0之后引入自动实现属性public int id { get; set; } public string Title { get; set; }}
总结
下一篇会继续总结和LINQ有关的关键技术:扩展方法、匿名方法和Lambda表达式
LINQ读书笔记(一)相关推荐
- LINQ IN ACTION读书笔记:LINQ 使用连接 1、组连接 2、内连接 3、左外连接 4、交叉连接 使用和区别...
使用的数据源类型: static public class SampleData{static public Publisher[] Publishers ={new Publisher {Name= ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- OREILLY Programming .NET 3.5 读书笔记之一
OREILLY Programming .NET 3.5 读书笔记之一 <Programming .NET 3.5>是OREILLY 2008.08出版的.NET 3.5 开发书籍,作者是 ...
- C#读书笔记之继承、接口与抽象类续
C#读书笔记之继承.接口与抽象类 http://www.cnblogs.com/linjzong/articles/2717173.html 接下来说明最开始提出的问题:为什么要使用接口和抽象类? 刚 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP-王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- 《C#高级编程》读书笔记
本文已同步发表在博客园:http://www.cnblogs.com/davidsheh/p/5236686.html C#类型的取值范围 访问限制符 修饰符 应用于 说明 public 所有类型或成 ...
- 【读书笔记】知易行难,多实践
前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...
- 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)
读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...
- 《编程匠艺》读书笔记
<编程匠艺>读书笔记之一 <编程匠艺>读书笔记之二 <编程匠艺>读书笔记之三 <编程匠艺>读书笔记之四 <编程匠艺>读书笔记之五 <编 ...
最新文章
- 解决 sh: java: command not found 问题
- mysql windows编译_Windows平台下编译Mysql源码 | 学步园
- Linux第二周学习笔记(11)
- leetcode-字符串中的第一个唯一字符
- 向Window窗体发送消息,控制程序的运行.
- C++中在浏览器打开html文件
- Dubbo RESTful风格
- 面试官: Flink双流JOIN了解吗? 简单说说其实现原理
- JQ简单二级导航,加子导航栏
- 9.打开ZF的错误提示
- @Configuration使用
- 零起点入门系列:如何把一张纸单变成在线表单?
- 台服DNF修改Script.pvf文件修改黑钻抽奖机的道具爆率,图文详解
- onenote使用python开发_我应该用onenote还是印象笔记?
- 链接mysql 504_phpMyAdmin错误代码:504 MySQL查询
- 蓝桥杯(java)个人赛真题:书号验证
- 【NLP】NLP,能辅助法官判案吗? | CCF C³
- Android音频播放
- QT+OpenCv4编译过程,解决mingw32-make -j报错。
- 独立站运营 | 聊天聚合部件,助你提升100%私域转化率