- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINQ自学教程[快速入门](VS2008SQLServer2005)
LINQ实验教程(VS2008 + SQL Server 2005)
来源:/a2008/0923/206/000000206182_2.shtml
LINQ 项目: 对象和关系型查询的统一语言特性本实验将介绍LINQ项目。面向.NET的语言集成查询框架(“LINQ”)是一个C#和VB的语言扩展,并是一个统一的编程模型,它扩展了.NET Framework来提供面向对象、数据库和XML的集成查询。
在本实验中,您将看到如何使用LINQ特性访问内存中的集合、XML文档和连接的数据库。实验的最后,是一个可选的练习,带您浏览了用来数据处理和抽取的不同标准查询运算符。
实验目标完成本实验估计需要:90 分钟本实验的目标是为了让您更为明确的理解LINQ项目。您将看到如何对内存中的对象和关系型数据库进行数据处理。新的LINQ API受益于智能感知功能,并可以得到完全的编译时检查,而无需考虑基于字符串的查询。
练习1 –面向内存中集合的LINQ在本练习中,您将学习如何查询对象序列。所有支持System.Collections.Generic.IEnumerable接口或范型接口IEnumerableT的集合都被认为是一个序列,并且可以使用新的LINQ标准查询运算符进行操作。标准查询运算符允许程序员来构建查询,包括在进行投影时创建新的类型。这与类型接口的功能是紧密相关的,它允许变量由它的初始化表达式来标定类型。任务1 –创建 “LINQ Overview” 解决方案点击Start | Programs | Microsoft Visual Studio 2008| Microsoft Visual Studio 2008菜单项,打开Visual Studio 2008。点击File | New | Project… 菜单命令。在 New Project 对话框中,选择Visual C# Windows 项目类型。选择Console Application 项目模板。为新建的项目指定名称,在Name框中输入“LINQ Overview”。点击OK。任务 2 – 查询一个整数类型的列表 在 Solution Explorer中,双击Program.cs创建一个新的方法,声明一个整数类型的集合(将该方法放到Program类中):
class Program{????static void Main(string[] args)????{????}????static void NumQuery()????{????????var numbers = new int[] { 1, 4, 9, 16, 25, 36 };????}}
注意,赋值式子左边并没有使用一个显式的类型声明;而是使用了一个新的关键字var。这是C# 3.0里面的一个新的功能,隐匿的本地类型声明。这个功能允许本地变量由编译器来推断出它的类型。在这里,右边创建了一个Int32[]类型的对象,因此编译器将推断出它的类型是Int32[]。这样也使得一些变量在初始化的时候才得到它的类型名称。添加下面的代码,来查询集合中的所有偶数。
static void NumQuery(){var numbers = new int[] { 1, 4, 9, 16, 25, 36 };?? var evenNumbers = from p in numbers?????????????????????? where (p % 2) == 0?????????????????????? select p;}
在这个步骤中,赋值式子右边的是一个查询表达式,是LINQ项目所引入的另一个语言扩展。和上面的步骤中的一样,使用类型推断来简化代码。查询返回的类型可能并不是非常明显。这个示例将返回System.Collections.Generic.IEnumerableInt32类型;将鼠标移动到evenNumbers上可以在Quick Info中看到类型。确实,有时候没有办法指定类型,这样就需要指定匿名的类型(由对象的初始化代码自动推断和创建的类型)。类型推断为这个问题提供了一种简单的解决方案。
添加下面的代码以显示结果:
static void NumQuery(){??var numbers = new int[] { 1, 4, 9, 16, 25, 36 };?? ??var evenNumbers = from p in numbers?????????????????????? where (p % 2) == 0?????????????????????? select p;????????Console.Write
文档评论(0)