LINQ是.NET Framework 3.5的新特性,其全称是 Language Integrated Query,即语言集成查询,是指将查询功能和语言结合起来。从而为我们提供一种统一的方式,让我们能在C#或VB.NET语言中直接查询和操作各种数据。借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据。通过使用LINQ,我们能够在C#编程语言内直接创建被称为“查询表达式(query expression)”的实体。这些查询表达式是基于许多查询运算符(query operator)的,而且是有意设计成类似SQL表达式的。并且,查询表达式可以用来与多种数据进行交互,以一种统一的方式来操作各种数据。
1. 一个小例子 - 简单的开始LINQ中最基本的数据单元是sequences和elements。一个sequence是实现了IEnumerable<T>的对象,而一个element是sequence中的每一个元素。如下,names就是一个sequence,”Tom”,“Dick”和”Harry”则是elements。
1 string[] names = { "Tom", "Dick", "Harry" };
一个查询运算符就是用来转换sequence的方法。一个典型的查询运算符接收一个输入sequence并输出一个转换之后的sequence。在System.Linq.Enumerable类中,总共定义了40来个查询运算符——全部用扩展方法来实现,他们被称为标准查询运算符。
一个查询则是由查询运算符来转换sequence的一个表达式,最简单的查询由一个input sequence和一个查询运算符组成。比如:
1 static void Main(string[] args) 2 { 3 string[] names = { "Tom", "Dick", "Harry" }; 4 5 // 获取所有长度大于等于4的名字 6 IEnumerable<string> filteredNames = System.Linq.Enumerable.Where( 7 names, n => n.Length >= 4); 8 foreach (string n in filteredNames) 9 Console.WriteLine(n); 10 }
时间: 2024-11-01 16:52:49