您的位置:首页 > 编程语言 > VB

微软免费图书《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的文档。我们希望这种特性广泛地应用于操作关系型数据库的代码中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐