1032匿名类型.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1032匿名类型

10.6 语言集成查询LINQ 语言集成查询(LINQ)为Visual Basic添加了查询功能,并且提供了用于处理各种数据的简单而强大的功能。 LINQ引入查询作为Visual Basic语言的一部分,而不是向数据库发送要进行处理的查询或者对要搜索的每种类型的数据使用不同的查询语法,它使用与数据类型无关的统一语法。 下面的示例演示了一个LINQ查询,该查询从一个集合返回客户列表,并将这些客户按地点进行分组。 1 Dim customers As List(Of Customer) = GetCustomerList( ) 2 3 Dim customersByCountry = From cust In customers _ 4 Order By cust.Country, cust.City _ 5 Group By CountryName = cust.Country _ 6 Into RegionalCustomers = Group, Count( ) _ 7 Order By CountryName 8 9 For Each country In customersByCountry 10 Console.WriteLine(country.CountryName _ 11 ( country.Count ) vbCrLf) 12 13 For Each customer In country.RegionalCustomers 14 Console.WriteLine(vbTab customer.CompanyName _ 15 ( customer.City )) 16 Next 17 Next * * * * * * * 第10章 了解VB.NET 2008的新增内容 与之前的版本相比,VB.NET 2008引入了新的语言功能,其中包括局部类型推理、对象初始值设定项、匿名类型和扩展方法。这些功能是对一项很重要的新功能语言集成查询(LINQ)的支持,但是它们单独使用时也很有用,本章将介绍这些新增功能的应用。 章节内容 10.1 局部类型推理 10.2 匿名类型 10.3 对象初始值设定项 10.4 扩展方法 10.5 Lambda表达式 10.6 语言集成查询 10.1 局部类型推理 局部类型推理允许声明变量时不使用As子句显式声明类型,而是由编译器通过初始化表达式的类型来推断出变量的类型。 1 Public Sub inferenceExample( ) 2 Dim num1 As Integer = 3 使用显式类型声明 3 Dim num2 = 3 使用局部类型推理 4 End Sub 当局部变量未使用As子句进行声明,并且被赋值时,会发生类型推理。编译器将值的类型用作变量的类型。 例如,下面的几行代码各自声明一个String类型的变量。 1 Dim name1 As String = Springfield 使用显式类型声明 2 Dim name2 = Springfield 使用局部类型推理 需要注意的是,局部类型推理不能用于声明类字段,也不能用于声明静态变量。 使用类型推理的代码类似于依赖后期绑定的代码。但是,类型推理可将变量设置为强类型,而不是使变量保留为Object。 编译器使用变量的初始值设定项,在编译时确定变量的类型,以生成早期绑定代码。 10.2 匿名类型 使用匿名类型功能可以不必先编写类定义,即创建新数据类型的实例。 编译器会根据声明该实例时所指定的属性来创建数据类型定义。该类没有可用的名称,而是直接从Object继承的,它包含在声明对象时指定的属性。 由于未指定数据类型的名称,因此将它称为匿名类型。 下面的示例使用对象初始值设定项声明并创建变量anonymousproduct,作为具有两个属性(Name和Price)的匿名类型的实例。 Dim anonymousProduct = New With { .Name = paperclips, .Price = 1.29} 请注意,声明匿名类型的实例与使用对象初始值设定项声明命名类型的实例相似。 下面的代码声明了Product类的一个实例namedProduct。 Dim n

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档