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()

匿名类型

  1. 由来
    匿名类型允许开发者不必预先定义类型,就创建类型的实例

  2. 使用方法

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读书笔记(一)相关推荐

  1. LINQ IN ACTION读书笔记:LINQ 使用连接 1、组连接 2、内连接 3、左外连接 4、交叉连接 使用和区别...

    使用的数据源类型: static public class SampleData{static public Publisher[] Publishers ={new Publisher {Name= ...

  2. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  3. OREILLY Programming .NET 3.5 读书笔记之一

    OREILLY Programming .NET 3.5 读书笔记之一 <Programming .NET 3.5>是OREILLY 2008.08出版的.NET 3.5 开发书籍,作者是 ...

  4. C#读书笔记之继承、接口与抽象类续

    C#读书笔记之继承.接口与抽象类 http://www.cnblogs.com/linjzong/articles/2717173.html 接下来说明最开始提出的问题:为什么要使用接口和抽象类? 刚 ...

  5. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP-王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  6. 《C#高级编程》读书笔记

    本文已同步发表在博客园:http://www.cnblogs.com/davidsheh/p/5236686.html C#类型的取值范围 访问限制符 修饰符 应用于 说明 public 所有类型或成 ...

  7. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  8. 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)

    读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...

  9. 《编程匠艺》读书笔记

    <编程匠艺>读书笔记之一 <编程匠艺>读书笔记之二 <编程匠艺>读书笔记之三 <编程匠艺>读书笔记之四 <编程匠艺>读书笔记之五 <编 ...

最新文章

  1. 解决 sh: java: command not found 问题
  2. mysql windows编译_Windows平台下编译Mysql源码 | 学步园
  3. Linux第二周学习笔记(11)
  4. leetcode-字符串中的第一个唯一字符
  5. 向Window窗体发送消息,控制程序的运行.
  6. C++中在浏览器打开html文件
  7. Dubbo RESTful风格
  8. 面试官: Flink双流JOIN了解吗? 简单说说其实现原理
  9. JQ简单二级导航,加子导航栏
  10. 9.打开ZF的错误提示
  11. @Configuration使用
  12. 零起点入门系列:如何把一张纸单变成在线表单?
  13. 台服DNF修改Script.pvf文件修改黑钻抽奖机的道具爆率,图文详解
  14. onenote使用python开发_我应该用onenote还是印象笔记?
  15. 链接mysql 504_phpMyAdmin错误代码:504 MySQL查询
  16. 蓝桥杯(java)个人赛真题:书号验证
  17. 【NLP】NLP,能辅助法官判案吗? | CCF C³
  18. Android音频播放
  19. QT+OpenCv4编译过程,解决mingw32-make -j报错。
  20. 独立站运营 | 聊天聚合部件,助你提升100%私域转化率

热门文章

  1. 智能信息处理笔记 遗传算法
  2. python中for语句涉及的序列可以是字符串吗_用for循环,可以遍历字符串、列表、元组、字典、数字序列、文件(TXT、excel)。...
  3. 携程国际机票sign破解
  4. 【安全】网络安全态势感知(转载)
  5. 重庆打造公共停车智能化管理服务平台,阿里云ET大脑牵手重庆
  6. Telephony框架分析
  7. Redis:丢弃策略
  8. PHP 框架实现原理
  9. excel输入公式不计算_Excel公式不计算
  10. Java基础_集合框架1