一:C#的一个分支Linq

二:学Linq需要有一些基础知识

1. var 隐式类型

2. 匿名类型/匿名方法

3. 自动属性

4. 委托/泛型的委托

5. lambda

6. 扩展方法

7. 对象初始化器  (匿名对象)

8. IEnumerable/yield/GetEnumerator

三:linq的作用的是什么 【大一统】

什么叫大一统: 就比如 linq中包含了对象查询,数据查询,xml查询等, 都包含在一起。

1. linq 【对象查询,数据查询,xml查询, xxx】

2. linq 其实就是使用扩展方法的lambda表达式。

四:linq to object

1. 原来 VS 现在

《1》 定义一个类

《2》 初始化了一个List集合。

《3》 foreach循环遍历。

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//找到str中包含“A”的字符串,然后已大写字符串和字符串长度的形式转存出来。
//{Word="AS",Length=2},{Word="SPA",Length=3}
//最原始的方式
var strs = new string[] { "is", "as", "spa" };
List<Word> words = new List<Word>();
foreach (var str in strs)
{
var upper = str.ToUpper();
if (upper.Contains("A"))
{
words.Add(new Word() { Str = upper, Length = upper.Length });
}
}
//现在的读取方式
var query = from str in strs
let upper = str.ToUpper() //定义临时变量
where upper.Contains("A")
select new { Str=upper, Length=upper.Length };
}
}
class Word
{
public string Str { get; set; }
public int Length { get; set; }
}
}

2. linq to sql/ ado.net entityframework

这两个都是用linq的方式读取/操作数据库。

原来: 我们是写sql代码的形式操作数据库。

表达式树,将lamada用树的形式存储起来,这样就方便将lambda表达式
解析成sql。

3. linq to dataset => datatable

原来:我们操作dataset/datatable 有foeach的形式。

现在:我们就可以用linq的方式了。

4. linq to xml

原来:用xmlwriter和xmlreader的形式来操作xml。

现在:我们用linq中的XDocument和XElement这样两种方式操作xml。

当然,大家一定要知道 linq to xml 其实是对xmlwriter的一种高层封装。

5. linq to xxx

这里的xxx需要自己去实现IQueryable接口。

最新文章

  1. Utils
  2. JVM内存管理------杂谈(借此也论一论obj=null)
  3. 关于javascript的window.onscroll方法
  4. javascripct导图
  5. Android Studio-ApplicationId 与 PackageName
  6. java Map使用Object 做为Key的问题
  7. sulime-text 3 安装以及使用
  8. Eclipse控制台中文乱码
  9. Jmeter_从jdbc请求的响应中获取参数做关联
  10. PAT (Basic Level) Practice (中文)1001 害死人不偿命的(3n+1)猜想
  11. VMware 2017 v14.x 永久许可证激活密钥
  12. react-创建react元素
  13. fft的实现
  14. 《Linux内核分析与实现》 第五周 读书笔记
  15. MySQL的自动补全和语法高亮工具MyCli
  16. Android-Menu菜单使用一
  17. js实现数字键盘
  18. koa中上传文件到阿里云oss实现点击在线预览和下载
  19. cf188C(最大子段和&amp;&amp;思维)
  20. 时间操作(JavaScript版)—年月日三级联动(默认显示系统时间)

热门文章

  1. memcached内存分配机制
  2. Excel中通过向导方式插入chart
  3. Halcon学习(三)赋值与数组操作
  4. mongodb(三)
  5. Markdown之表格的处理
  6. inl文件介绍
  7. LUA upvalue使用陷阱一例
  8. Excel 数字处理
  9. /etc/rc5.d/s991local: line25: eject:command not found错误
  10. jsp table td自动换行