语言集成查询Language Integrated Query(LINQ)是一系列将查询功能集成到C#语言的技术统称.
传统数据查询的缺点:
简单的字符串查询,没有编译时类型检查或Intellisense(编译器智能感知)支持,对于每种不同的数据源,还需要学习不同的查询语言,如数据库,需要学sql语言用于查询数据,XML需要学习特性的XML数据查询语句,各种Web服务需要学习Web服务查询方法.
LINQ解决的问题和特点:
1、借助 LINQ,查询成为了最高级的语言构造,就像类、方法和事件一样
1、查询表达式采用声明性查询语法编写而成
2、用最少的代码对数据源执行筛选、排序和分组操作
3、可使用相同的基本查询表达式模式来查询和转换 SQL 数据库、ADO .NET 数据集、XML 文档和流以及 .NET 集合中的数据。
下面的示例展示了完整的查询操作。 完整的操作包括创建数据源、定义查询表达式和在 foreach
语句中执行查询。
class Program { static void Main(string[] args) { //定义数据源 int[] scores = new int[] {1,3,4,5,7,9,12,15 }; //编写查询表达式 IEnumerable<int> scoreQuery = from score in scores where score%2==0 select score; //使用foreach执行查询,不能用for foreach (int i in scoreQuery) { Console.WriteLine(i); } Console.ReadKey(); } }
输出:4、12