link中let相当于select?不是很懂,let不是定义变量的么?

link中let相当于select?不是很懂,let不是定义变量的么?

http://ask.csdn.net/questions/177501

本文向大家介绍Linq LET关键字,可能好多人还不了解Linq LET关键字,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

LINQ是Language Integrated Query (语言集成查询)。当我们要对数据库表进行查询的时候,我们一定会编写"select * from sometable where 的语句。好,那我们现在根据LINQ的语法,完全可以将我们熟悉的SQL中像"select","from","where"等语句在.NET Framework环境中顺利使用并且大大提高开发的效率。以下介绍Linq LET关键字。

Linq LET关键字据说这是.NET 3.5SP1中的一个增强,Linq LET关键字目前我看起来就是对子查询的一个别名。

static void Main(string[] args)

{

int[] numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

//传统下的子查询做法

var query = from num in numbers

select num * (from n in numbers

where n % 2 == 0

select n).Count();

//使用LET关键字的做法

//var query = from num in numbers

//let evenNumbers = from n in numbers

//where n % 2 == 0

//select n

//select num * evenNumbers.Count();

foreach (var item in query)

{

Console.WriteLine(item);

}

Console.Read();

}
我们一看就会知道,用了Linq LET关键字之后,层次感会更好一些,代码更易于阅读。

另外不是Link,是LinQ

可以参考以下链接

http://developer.51cto.com/art/200909/152262.htm