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
相关文章
读者评论
发表评论 |