1. Linq 基础概念
Linq 是什么
语言集成查询(Language Integrated Query), Linq 是.net 为我们提供的高效查询和高阶函数(求和等)的API,以便我们能够编写高度表达力的声明式代码;
Linq 能做什么
它提供对不同数据源的简化访问,不管使用哪种数据源,Linq都又一套类似的语法,使用Linq简化了我们的开发工作;
//比如查找具有特定属性值的所有 XML 元素
public static IEnumerable<XElement> FindAllElementsWithAttribute(XElement documentRoot, string elementName,
string attributeName, string value)
{
return from el in documentRoot.Elements(elementName)
where (string)el.Element(attributeName) == value
select el;
}
//为了执行此任务而编写代码来手动遍历 XML 文档会带来重重困难
Linq 不仅仅提供了与XML Docs,还提供了Linq To SQL,还可以使用JSON.NET 的Linq 有效地遍历Json文档,collections, ADO.Net DataSet, web service and other databases
Linq 返回object是结果,可以让你使用面向对象开发,不用担心传输不同的格式到
The following example demonstrates a simple LINQ query that gets all strings from an array which contains 'a'.
// Example: LINQ Query to Array
// Data source
string[] names = {"Bill", "Steve", "James", "Mohan" };
// LINQ Query
var myLinqQuery = from name in names
where name.Contains('a')
select name;
// Query execution
foreach(var name in myLinqQuery)
Console.Write(name + " ");
// 完查询后你必须执行它才能得到结果;
Linq 的优势是什么
- 相近的语法,用户不用再针对不同数据类型频繁学习新的查询语言
- 更少的代码 比着传统的方式,Linq更加简洁,之前都是要用for或者foreach写一堆的代码
- 可读性比较高 让代码看起来更加容易明白并掌握它
- 针对不同的数据源却有标准的查询方式
- 编译时安全的查询: 提供了类型检查
- 智能提示支持:避免写错字段名词
- 输出不同的数据格式:同一种数据,你可以输出为不同数据格式;
我们能够在哪儿使用Linq
上面一张图中向我们展示了Linq使用范围,另外在实现了IEnumerable
顶
收藏
关注
评论
作者:王思明
出处:http://www.cnblogs.com/maanshancss/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。所有源码遵循Apache协议,使用必须添加 from maanshancss
出处:http://www.cnblogs.com/maanshancss/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。所有源码遵循Apache协议,使用必须添加 from maanshancss