- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINQ中文教程
LINQ初体验之LINQ to Object 1
一步一步学Linq to sql(一):预备知识 4
一步一步学Linq to sql(二):DataContext与实体 9
一步一步学Linq to sql(三):增删改 15
一步一步学Linq to sql(四):查询句法 21
一步一步学Linq to sql(五):存储过程 35
一步一步学Linq to sql(六):探究特性 46
一步一步学Linq to sql(七):并发与事务 53
一步一步学Linq to sql(八):继承与关系 60
一步一步学Linq to sql(九):其它补充 69
一步一步学Linq to sql(十):分层构架的例子 73
Linq To Xml学习 80
Linq To Xml学习 - 1. 概述 80
Linq To Xml学习 - 2 编程概述 82
C# 2008 学习笔记 - LINQ to XML 87
一、命名空间 87
二、编程方式创建XML文档 88
三、使用 LINQ 查询创建XML文档 89
四、加载和解析XML内容 90
六、遍历内存中的XML文档 90
七、修改 XML文档 92
使用linq to xml 快速创建自己的Rss 93
LINQ初体验之LINQ to Object
VS2008的发布,最激动人心的不过是LINQ的诞生。
What‘s LINQ? Language Integrated Query 是也。说得再明白一些,这是编程语言的一种新特性,能够将数据查询语句集成到编程语言中。目前,LINQ支持的语言有C# 和 VB。)
为啥会有LINQ,主要还是因为现在的数据格式越来越多,数据库、XML、数组、哈希表……每一种都有自己操作数据的方式,学起来费事费力。于是,就有了LINQ诞生的理由——以一种统一的方式操作各种数据源,减少数据访问的复杂性。
LINQ带来很多开发上的便利。首先,他可以利用Visual Studio这个强大的IDE(这话决不是吹,Visual Studio绝对是最好用的开发工具之一),至少用Visual Studio来写SQL语句,可以有智能感知了,比起从前用查询分析器写存储过程的感觉好多了!其次,它可以把数据当成一个对象来操作,即 Data == Object? 的问题。
LINQ目前可以对XML, Object, SQL做数据访问,今后还会有LINQ to Entity的功能。
说来惭愧,我也是刚刚才接触LINQ,先从最简单的开始吧,做一个LINQ to Object的例子,实现一个对数组的操作。这个例子套用了今年TechED中海洋兄讲的例子,在此声明。
在这个例子中,我会先通过GetMethods的方法,拿到string的所有方法,接下来,就看LINQ的厉害了,这里是选出所有非静态的方法签名。
MethodInfo[]?methods?=?typeof(string).GetMethods(); var?result?=?from?m?in?methods where?m.IsStatic?!=?true select?m.Name; foreach?(var?r?in?result) { Console.WriteLine(r.ToString()); } Console.ReadLine(); 例子虽然简单,确能从中看出LINQ的一些端倪。首先,var是什么东东?
看起来,有点像javascript里面的弱类型的变量声明。但是,C#是强类型的,尽管你用var来声明,编译器还是可以根据上下文推倒出它当前的类型。比如这个例子里面,result就是IEnumerable 类型的。在这里面,写IEnumerable和写var是一样效果的,显然,var会简单得多。你不用考虑数据操作的返回值是什么类型,还能享受强类型声明带来的方便实惠……
还有from m in methods这句,m是什么东西,m是隐式声明的一个变量,尽管没有声明,但编译器根据上下文,推断出它的类型是MethodInfo型的!.NET Framework 3.5的编译器的确是聪明了很多 ^^
上面这个例子运行起来的结果中有很多重复的记录,我们可以用distinct()来过滤掉重复的,和SQL还是很相似的说。
var?result?=?(from?m?in?methods where?m.IsStatic?!=?true select?m.Name).Distinct(); 或者用group by 也可以
var?result?=?from?m?i
文档评论(0)