微软免费图书《Introducing Microsoft LINQ》翻译Chapter3.1-Visual Basic 9.0语言特性
2008-03-17 16:46
771 查看
本书翻译目的为个人学习和知识共享,其版权属原作者所有,如有侵权,请告知本人,本人将立即对发帖采取处理。
允许转载,但转载时请注明本版权声明信息,禁止用于商业用途!
博客园:韩现龙
Introducing to Microsoft LINQ目录
Microsoft Visual Basic9.0的最终版本增强了对语言集成查询(LINQ)的支持。正如C#3.0那样,对Visual Basic9.0的改变并不需要对公共语言运行时(CLR)做任何修改。
更多信息 关于C#3.0的更多信息,请参阅第2章 “C#语言特性”
在本章中,我们将讲述一下在Visual Basic9.0中的新语法,在适当的时候将它与C#进行一下对比。在C#和VB9之间有一些差别,有一些特性并不是在二者之间都有的。即便作为一个C#程序员,也请看一下本章。可能Visual Basic 9.0的一些优点在C#中是没有的。至少我们应该能够读懂用为LINQ写的Visual Basic代码。
如果您偏爱Visual Basic,若想全面高效地理解VB9,您须对VB8的特性有一个全面的了解。读C#代码的能力对于阅读本书的其他部分(因为LINQ的例子是用C#写的)和理解C#3.0及Visual Basic 9.0之间的差别也非常重要。
Visual Basic 9.0 和 Nullable 类型
Visual Basic 9.0包括了早在C#2.0版本中已经存在的特性。这些特性之一就是可空类型-该类型在LINQ中也经常使用。因此,我们需要快速地对可空类型进行一下描述。
从对Microsoft .NET2.0的泛型介绍时开始,CLR就向程序员们提供了泛型类Nullable(Of T As Struct),这就满足了程序员们将NULL值赋值给一个值类型的要求。在声明这种类型的一个变量时,我们不必专门地为它声明一个新的类型。
为了使用此类型,C#2.0对其提供了直接支持。将?前缀到类型名称前,我们就可以使用该类型的可空泛型类了。Visual Basic9.0也用同样的语法提供了同样的功能,如Listing3-1所示:
Listing 3-1: Nullable type declaration
Dim a As Integer? = 18
Dim b As Integer? = 24
Dim c As Integer? = Nothing
Dim d As Integer?
d = a + c ' d = 18 + Nothing = Nothing
c = a + b ' c = 18 + 24 = 42
Dim k As Integer? = 16
Dim p As Integer = k ' Compiler error
Dim q As Integer = DirectCast( k, Integer ) ' Ok
Dim r As Integer = CType( k, Integer ) ' Ok
[b]
关于Visual Basic 9.0中的可空类型的更多信息,请参阅Visual Basic的文档。我们希望这种特性广泛地应用于操作关系型数据库的代码中。
允许转载,但转载时请注明本版权声明信息,禁止用于商业用途!
博客园:韩现龙
Introducing to Microsoft LINQ目录
Microsoft Visual Basic9.0的最终版本增强了对语言集成查询(LINQ)的支持。正如C#3.0那样,对Visual Basic9.0的改变并不需要对公共语言运行时(CLR)做任何修改。
更多信息 关于C#3.0的更多信息,请参阅第2章 “C#语言特性”
在本章中,我们将讲述一下在Visual Basic9.0中的新语法,在适当的时候将它与C#进行一下对比。在C#和VB9之间有一些差别,有一些特性并不是在二者之间都有的。即便作为一个C#程序员,也请看一下本章。可能Visual Basic 9.0的一些优点在C#中是没有的。至少我们应该能够读懂用为LINQ写的Visual Basic代码。
如果您偏爱Visual Basic,若想全面高效地理解VB9,您须对VB8的特性有一个全面的了解。读C#代码的能力对于阅读本书的其他部分(因为LINQ的例子是用C#写的)和理解C#3.0及Visual Basic 9.0之间的差别也非常重要。
Visual Basic 9.0 和 Nullable 类型
Visual Basic 9.0包括了早在C#2.0版本中已经存在的特性。这些特性之一就是可空类型-该类型在LINQ中也经常使用。因此,我们需要快速地对可空类型进行一下描述。
从对Microsoft .NET2.0的泛型介绍时开始,CLR就向程序员们提供了泛型类Nullable(Of T As Struct),这就满足了程序员们将NULL值赋值给一个值类型的要求。在声明这种类型的一个变量时,我们不必专门地为它声明一个新的类型。
为了使用此类型,C#2.0对其提供了直接支持。将?前缀到类型名称前,我们就可以使用该类型的可空泛型类了。Visual Basic9.0也用同样的语法提供了同样的功能,如Listing3-1所示:
Listing 3-1: Nullable type declaration
Dim a As Integer? = 18
Dim b As Integer? = 24
Dim c As Integer? = Nothing
Dim d As Integer?
d = a + c ' d = 18 + Nothing = Nothing
c = a + b ' c = 18 + 24 = 42
Dim k As Integer? = 16
Dim p As Integer = k ' Compiler error
Dim q As Integer = DirectCast( k, Integer ) ' Ok
Dim r As Integer = CType( k, Integer ) ' Ok
[b]
关于Visual Basic 9.0中的可空类型的更多信息,请参阅Visual Basic的文档。我们希望这种特性广泛地应用于操作关系型数据库的代码中。
相关文章推荐
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter3.2-和C#相似的VB9.0的语法特性
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.1:C# 3.0 特性(对象初始化表达式\匿名类型\查询表达式)
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.0:C# 语言特点
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter3.4,3.5-和Visual Basic9.0无关的C#3.0的属性,本章小结
- 微软免费图书 Introducing Microsoft LINQ 的翻译
- 微软免费图书《Introducing Microsoft LINQ》翻译-第4章:LINQ句法基础 查询语法
- 微软免费图书 Introducing Microsoft LINQ 的翻译打算
- 微软免费图书Introducing to Microsoft LINQ翻译预告及目录结构
- 微软免费图书《Introducing Microsoft LINQ》翻译--LINQ概述
- 微软免费图书《Introducing Microsoft LINQ》翻译-Chapter1.5 and Chapter1.6:LINQ的现状及前景
- 微软免费图书《Introducing Microsoft LINQ》翻译--版权声明及本书简介
- 微软免费图书《Introducing Microsoft LINQ》翻译-Chapter1:语言集成(CDPlayer译)
- 微软免费图书《Introducing Microsoft LINQ》翻译Chapter3.3-和C#3.0无关的Visual Basic9.0的特性
- 微软免费图书《Introducing Microsoft LINQ》翻译-Chapter1:LINQ工作原理,关系模型,XML操作
- 微软免费图书《Introducing Microsoft LINQ》翻译-Chapter1:語言集成 類型檢查,宣告式編程,透明化不同的類型系統
- 微软免费图书《Introducing Microsoft LINQ》翻译-Chapter1.3:LINQ调味料
- 免费图书Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET
- 微软推出的免费新书《Introducing Microsoft SQL Server 2012》
- 微软推出的免费新书《Introducing Microsoft SQL Server 2012》
- 微软推出的免费新书《Introducing Microsoft SQL Server 2012》