一、Linq需要的C#语法支持:

1、隐式变量的使用var

var使用时必须初始化      var是强类型数据

2、自动属性:public string FirstName{get ;set;}

3、扩展方法

4、委托——》匿名方法——》lambda表达式

5、对象初始化器  集合初始化器

二、Linq的基本语法:

{

string[]  names={"aaa","bbb","ccc","abc"};

IEnumerabl<string> query=names

          .Where(n=>n.Contans("a"))             //根据lambda表达式返回的bool值判定是否返回数据,为True则返回当前数据(选择)

          .OrderBy(n=>n.Length)                //OrderBy根据lambda返回的数据值的大小对数据进行排列

          .Select(n.ToUpper());                //对选择出来的数据进行操作(投影)

在简单数据时候这两种方法都一样,但是执行复杂查询的时候,用from就要好了:(let关键字引入新的范围变量  selectMany Join GroupJoin)

但是对于一些没有对应查询表达式关键字的运算符就只能用方法语句了。下面列出的是对应有查询关键字的运算符:Where\Select\SelectMany\OrderBy\ThenBy\OrderByDescending\ThenByDescending\GroupBy\Jion\GroupJion

IEnumberable<string> query=

          from n in names

          where n.Contains("a")

          orderby n.Length

          select n.ToUpper();

组合查询语法

int matches = (from n in names where n.Contains("a") select n).Count();     // 3
            // 按字母顺序排序的第一个名字
            string first = (from n in names orderby n select n).First();     // Dick

}

三、延迟执行      http://www.cnblogs.com/lifepoem/archive/2011/10/29/2228589.html

延迟执行是什么意思?

怎眼合理利用延迟执行,避免延迟执行带来的一些错误?

需要注意的是,如果在上面的查询后面加上一个转换运算符如ToList,那么query会被立即执行,这样,单个list就会取代上面的整个对象模型。

http://www.cnblogs.com/lifepoem/archive/2011/10/27/2226556.html

最新文章

  1. PHP工作笔记:数组转字符串与字符串转数组
  2. 离散信源的分类和数学模型&amp;&amp;离散无记忆信源的熵
  3. android-8~23 View.java - dispatchTouchEvent源码
  4. 调整Linux磁盘分区的大小的方法
  5. eclipse安装
  6. Vue和Bootstrap的整合之路
  7. 轻松学JVM(二)&mdash;&mdash;内存模型、可见性、指令重排序
  8. bootstrap select多选
  9. IE下常见的js兼容问题
  10. gb_tree平衡树源码
  11. 深度学习之 cnn 进行 CIFAR10 分类
  12. 第九届蓝桥杯C/C++B组省赛感想
  13. ubuntu1604 golang环境
  14. Tensorflow数学运算
  15. 【洛谷P2704】炮兵阵地
  16. Android中将十六进制 颜色代码 转换为int类型数值
  17. canvas 写一个刮刮乐抽奖
  18. 使用Python完成表格自动输入
  19. npm install --save
  20. python-opencv boundingRect使用注意

热门文章

  1. schemaeasyui实例:SSh结合Easyui实现Datagrid的分页显示
  2. ajax的分页查询(不刷新页面)
  3. [Thinkbayes]贝叶斯思维读书笔记-2-火车头问题
  4. JavaScript的事件机制
  5. TCP报文中的SYN,FIN,ACK,PSH,RST,URG
  6. 驱动04.平台总线驱动模型——点亮LED灯
  7. 记一次kali和win8.1的双系统修复!!
  8. html的map自适应
  9. PHP检测文件能否下载
  10. Ubuntu下Git的使用之创建版本库