专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » linq教程:C#3.5新特性——LINQ »正文

linq教程:C#3.5新特性——LINQ

来源: 发布时间:星期三, 2008年9月10日 浏览:107次 评论:0
VS2008正式版发布已有几天了,今天装了,上网一“百度”,新特性还真不少,不过本人C#学的实在不怎么的!所以在众多的新特性中,现在只看懂了一个东西——Linq(语言级集成查询),这个东西有点类似SQL语句(这也是本菜能看懂的原因),具体它和SQL语句到底有什么亲戚关系,本菜尚未彻底明了,本着严谨的态度,这里就不说了,这里只秀一句LINQ的select语法:
所有的Linq查询有下面基本的3个行为构成:
1,包含数据源
2,创建查询
3,执行查询
下面就是一段代码,表示了查询操作的3部分
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;//这就是LINQ所属的命名空间,在vs2003和vs2005是没有的,它现在已经登场了!
usingSystem.Text;
namespaceConsoleApplication2
{
classProgram
{
staticvoidMain(string[]args)
{
//第1步:包含数据源.
string[]strings=newstring[4]{\"江苏省无锡市\",\"江南大学——江南第一学府\",\"太糊学院——垃圾\",\"明言祥语\"};
//第2步:创建查询.
varquery=fromiteminstrings
//注意:这里的关键词var是C#3.0里才有的特性,叫做“隐含类型”它将告诉编译器,你自己去判断变量的类型吧,编译器会根据不同环境为变量确定不同的类型,语言的使用者又可以偷懒了,^_^。例如:
vara=5;编译器就会确定变量a的类型为int
varstr=\"江南大学太湖学院\";编译器就会确定变量str的类型为string。
还有一点就是,var只能用于局部变量!
orderbyitem
groupitembyitem.LengthintolengthGroups
orderbylengthGroups.Keydescending [Page]
selectlengthGroups;
//上面这句代码就是LINQ查询语句,非常简练,望文生义就能看懂,从语法结构上讲和SQL语句完全相似,之所以说\"相似\"因为它和SQL语句还是有点区别的,SQL语句的“select”关键词在前面,而LINQ放在了最后面。
//第3步:执行查询.
foreach(variteminquery)
{
Console.WriteLine(\"stringsoflength\",item.Key);
foreach(varvalinitem)
{
Console.WriteLine(val);
}
}
}
}
}
上面例子中的数据源类型是数组,,是它作为Linq查询的数据源,这是Linq查询是如何执行的。其中的into关键字表示将前一个查询的结果视为后续查询的生成器,这里是跟groupby一起使用的。

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: