Visual Basic.NET是基于微软.NET Framework之上的面向对象的编程语言。
可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment).SharpDevelop是另一种可用的开源的IDE。
VB.Net需要在.Net Framework平台上才能执行。
Visual Basic .NET通常缩写为VB.NET,在某些特定情况下也直接简称VB,比如在.NET这个大话题下或者与其他.NET语言一起讨论的时候。
Visual Basic .NET属Basic系语言,其语法特点是以极具亲和力的英文单词为基础标识,以及与自然语言极其相近的逻辑表达,有时候你会觉得写VB.NET代码就好像在写英文句子一样,从这个角度来说,VB.NET似乎是最高级的一门编程语言,当然在Basic系语言中VB.NET也确实是迄今为止最强大的一门编程语言。
Visual Basic .NET的应用范围包括Windows桌面、Web以及当下突然觉醒的正在奋力追赶的第三大移动平台Windows Phone。
由于改动太大,导致VB.NET对VB的向后兼容性不好,在业界引起不小的争议。
VB.NET是"...中间解释性语言“,这种说法极不准确,甚至完全错误。可能原编辑者是指的编译器会先将源码翻译成MSIL(Microsoft Intermediate Language)中间语言这回事,但这和”解释性语言“有很大差别。
VB关系
不能简单认为VB .net是VB的新版本。首先它们一个是完全面向对象的语言,而另一个不是完全面向对象的,其次VB .NET是构建于.Net framework之上的。当然,它们同属Basic系列语言,又同为微软所开发,语法上有一定的相似或沿袭是很正常的,但不能因此认为VB .NET是VB的升级版。
对于想从VB转到VB .NET的开发者来说,如果你只是喜欢Basic系列语言的代码风格,那么你的迁移会很顺利,如果你想沿袭之前VB的编程思想和习惯,你会很苦恼,原因之一就是VB .NET贯穿的是完全面向对象的思想,而VB不是。
微软为使VB开发者更容易转到VB .NET,兼容一些VB6函数和库的用法,但是比不上.NET语言中自带的可替换的函数和库来得高效,所以我们应该尽量使用.NET下的新方法。微软还提供了VB到VB .NET的自动转换器,虽几经改进,但仍无法转换全部代码,几乎所有非小型程序都需要人工修改以完成编译。为了运行优化,大多程序需要大量工作去重构。
争议与解释:许多资深的VB程序员抱怨VB .NET,因为VB .NET丢掉了许多不再发行的VB6中使用的大量语言constructs和用户界面功能,并且对保留下来的东西也改变了语意。其实不应该再把VB和VB .NET做功能上的比较,因为它们除了有些语法相似外,可以说是完全不同的两种语言。
Visual Basic .NET与VB都代表了Basic系列语言的编码风格,Visual Basic .NET是这种编码风格在.NET平台上的继承,而不是同系列语言VB的沿袭。
开发
MONO开发平台提供了一个VB.NET特性库(VB.NET-specific libraries)并着手研发一个编译器和Windows Forms GUI 库。由于各方面的原因,VB.NET开发的开源工具较C#发展得慢一些。
语言革命
* 1991年4月,Visual Basic诞生,Visual Basic 1.0 Windows版本发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的。 1992年9月,Visual Basic 1.0 DOS版本发布。
* 1998年夏天,VB6.0发布。
* 2001年,Visual Basic .NET和.NET Framework发布。Visual Basic .NET正式诞生。
* 2005年,微软宣布将不会再对非.NET版本的VB进行支持。
*2010年,Visual Basic .NET随Visual Studio 2010发布,不再提供单独的Visual Basic .NET IDE。
版本历史
Visual Basic .NET 2002
2002年Visual Basic .NET 问世,此后Visual Basic 包含在 Visual Studio套装中。该版本又被称为VB 7.0,是与C#一起在2002年发布的最初始的VB.net版本。C#是一门新设计.Net语言并且语法上和Java有一定的相似性,所以被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET则相反被错误地认为仅仅是VB的一个升级(故有时被称为VB7),它的受关注度也因此较低,当然VB社区以及喜欢Basic系列风格的语言的人还是很关注它的。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言。不过任何一种语言都是有弱点的,当然后面这一点也是.NET语言的共性,那就是运行的计算机上必须装相应版本的.Net framework。
Visual Basic .NET 2003
该版本是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。
Visual Basic .NET 2005
该版本是VB.Net的重大转变。但是这个版本的 Visual Studio 仍然还是面向 .NET 框架的(版本2.0)。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。
Visual Basic .NET 2008
Visual Basic 2008于2008年2月1日发布。通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用 Visual Basic 快速创建 Windows 程序,现在还可以编写企业水平的客户/服务器程序及强大的数据库应用程序。
Visual Studio 2010
Visual Studio 2010于2010年4月12日上市,其中包含 Visual Basic .NET 2010 。Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库等。
Visual Studio 2012
从该版本开始VB.NET已没有单独发售的IDE了,微软给Visual Basic .NET 以及C#开发者的IDE就只有Visual Studio 了。该版本增加了modern(原metro)风格的支持等众多新特性。
Visual Studio 2015
增加了大量新特性,提升你的编写效率。对编译器和开发环境优化,提高编译速度,帮你重构代码和解决错误。最明显的14项改进见参考资料的14 Top Improvements in Visual Basic 14。
语法特性:
关键字
|
描述
|
Namespace
|
包含类似或相关功能的类的集合
|
Class
|
用来定义一个类用以存储对象的属性、方法和事件
|
Sub
|
子过程,可以把要使用的数据以参数形式传入,但不返回值
|
Function
|
函数,同样可以传参数,但要求有返回值
|
Property | 属性过程,设置或返回对象的属性值 |
Return
|
结束当前sub或function,若是函数则返回一个函数值
|
Dim
|
声明或定义一个变量
|
New
|
创建一个新的实例对象
|
Nothing
|
表示一个变量没有值,与其他语言或数据库中的null等价
|
Me
|
当前类的实例对象的引用
|
Console
|
.NET用于访问和操作命令窗口的类,主要用于命令行应用程序
|
Module
|
模块,定义一个不是类的代码块,但它同样可以包含变量和方法
|
语言特性
此段列出的是仅Visual Basic .Net语言部分较独特或者较重要的特性。
数据类型
-
数值型:整型(Short、Integer、Long和无符号的Byte)、非整型(Decimal 、Single、Double)
-
字符型:Char、String
-
泛型:List(Of T)、Dictionary(Of K,V)
-
其他类型:Boolean、Date、Object、Enum、Array、ArrayList、Structure
运算符
-
算术运算符:/(除),\(整除),Mod(取模)
-
串联运算符:&,+亦可
-
逻辑/按位运算符:Not、And、Or、Xor、AndAlso、OrElse
-
赋值运算符:= ,^= ,*= ,/= ,\= ,+= ,-= ,<<=,>>=,&=
-
比较运算符:< ,<= ,> ,>= ,= ,<> ,Is ,IsNot ,Like
-
移位运算符:<< ,>>
-
其他运算符:AddressOf 运算符 ,GetType 运算符 ,函数表达式,If 运算符 ,TypeOf 运算符,Await 运算符
-
DirectCast 运算符
-
TryCast 运算符
-
New 运算符
*运算优先级:算术>连接>比较>逻辑运算(用括号可改变优先级)
详细:
如果表达式中出现几种运算,将按照预先确定的称为“运算符优先级”的顺序计算和解析各个部分。
优先级规则
当表达式包含不止一种运算符时,则按照下列规则对其进行计算:
-
算术运算符和串联运算符的优先级在下面列出,它们的优先级均高于比较运算符、逻辑运算符和位运算符。
-
所有比较运算符具有相同的优先级,它们的优先级均高于逻辑运算符和位运算符,但低于算术运算符和串联运算符。
-
逻辑运算符和位运算符的优先级在下面列出,它们的优先级均低于算术运算符、串联运算符和比较运算符。
-
具有相同优先顺序的运算符将按照它们在表达式中出现的顺序从左至右进行计算。
优先级顺序
运算符的计算优先级顺序如下:
算术运算符和串联运算符
求幂 (^)
一元标识和非(+、–)
乘法和浮点除法(*、/)
整数除法 (\)
取模 (Mod)
加法和减法(+、–),字符串连接 (+)
字符串连接 (&)
算术移位(<<、>>)
比较运算符
所有比较运算符(=、<>、<、<=、>、>=、Is、IsNot、Like、TypeOf...Is)
逻辑运算符和位运算符
非 (Not)
与 (And、AndAlso)
或 (Or、OrElse)
异或 (Xor)
注释
= 运算符只是相等比较运算符,而不是赋值运算符。
字符串连接运算符 (&) 不是算术运算符,但它在优先级方面与算术运算符属于一组。
Is 和 IsNot 运算符是对象引用比较运算符。 它们不比较两个对象的值,只确定两个对象变量是否指向相同的对象实例。
结合性
当具有相同优先级的运算符(例如乘法和除法)在表达式中一起出现时,编译器将按每个运算符出现的顺序从左至右进行计算。
Visual Basic 中的运算符具有“左结合性”。
重写优先级和结合性
可以使用括号强制表达式中的某些部分先于其他部分计算。 这会重写优先级顺序和左结合性。 Visual Basic 始终先执行括在中括号内的操作,再执行括号外的操作。然而,在括号内,它保持普通优先级和结合性,除非您在括号内再使用括号。
流程控制
-
条件:If、Select Case
-
循环:For、For Each、While、Do While… …Loop、Do …Loop Until…
-
终止:Exit [Do、For、Function、Property、Select、Sub、Try]
-
异常处理:Try...Catch...Finally 语法支持"结构化异常处理"。
*三元表达式:IIf(Expression,TruePart,FalsePart),是Microsoft.VisualBasic命名空间下的函数,不论结果如何都会计算TruePart和FalsePart的表达式,它有相应的返回值。
较高版本中存在 If(Expression,TruePart,FalsePart) 运算符,与IIf的区别是它能短路计算,Expression为真时不计算FalsePart,Expression为假时不计算TruePart
系统常量
Visual Basic .Net有很多系统常量,它们都在Microsoft.VisualBasic.Constants命名空间下,这些常量包括很多方面,如表示回车换行符的vbCrLf、表示逻辑结果的vbOK以及用在时间方面的vbShortDate等等。
对象关键词
Visual Basic .Net已经是一门完全面向对象的语言,以下是关于面向对象的一些关键词:
Inherits
|
Overloads
|
|||
Shadows
|
隐藏覆盖
|
Overrides
|
||
Interface
|
声明接口
|
Implements
|
实现接口
|
还有一些与上面对应的如可重载、必须继承等等在这里就没必要一一列出了。
表达式
在Visual Basic .Net使用 Function 或 Sub 关键字创建 Lambda 表达式,就像创建标准函数或子例程一样。 但是,Lambda 表达式包括在语句中。下面分别演示单行与多行。
用Function并返回值:
1
2
3
4
5
6
|
DimLambdaTest= Function (x)x+1
DimLambdaTest1= Function (x)
Returnx+2 EndFunction MessageBox.Show(LambdaTest(7)) MessageBox.Show(LambdaTest1(7)) |
用Sub:
1
2
3
4
5
6
|
DimLambdaTest= Sub (x)MessageBox.Show(x)
DimLambdaTest1= Sub (x)
MessageBox.Show(x) EndSub LambdaTest(7) LambdaTest1(7) |
比起其他语言,Visual Basic .Net用Function和Sub更能直观体现Lambda表达式的本质——匿名方法。
相关推荐
《Visual Basic.NET项目开发宝典》主要介绍Visual Basic的数据库项目开发过程。《Visual Basic.NET项目开发宝典》从实用的角度,对如何使用VB开发应用程序做了系统、全面的介绍。《Visual Basic.NET项目开发宝典》...
《Microsoft Visual Basic .NET 程序设计》一书中的练习文件。 SYSTEM REQUIREMENTS =================== 要编译和运行本文件夹的所有练习文件,需要如下配置: - 以下操作系统之一: Microsoft Windows ...
第1章:Visual Basic .NET 简介 Visual Basic .NET(简称VB.NET)是.NET框架的一部分,是一种面向对象的编程语言,常用于Windows应用程序和Web应用程序的开发。 第2章:环境搭建 安装Visual Studio 访问Visual ...
### Visual Basic .NET简介 Visual Basic .NET(简称VB.NET)是一种面向对象的编程语言,它是微软.NET框架的一部分,用于开发Windows桌面应用程序和Web应用程序。VB.NET拥有丰富的类库和内置功能,支持事件驱动编程...
在本教程中,我们将深入探讨如何使用Microsoft的开发工具Visual Basic .NET和Visual C#.NET来创建和使用XML Web服务及服务器组件。 1. **XML Web服务基础** XML Web服务基于开放标准,如SOAP(简单对象访问协议)...
《Visual C#.NET与Visual Basic.NET的差异》一文深入探讨了两种编程语言在微软.NET框架下的异同,这是微软官方对于这两种语言特性的详细对比分析。以下是对该文核心知识点的总结与扩展: ### 1. **语法敏感性** ...
《Visual Basic.NET实用教程》是一本深入探讨VB.NET编程技术的教材,旨在帮助读者掌握这一强大的.NET框架下的编程语言。VB.NET是微软公司基于经典的Visual Basic 6.0开发的,保留了VB语言的易学性,同时引入了一系列...
本书面向的对象 Visual Basic.Net展现了一个全新的世界,我希望,本书能够帮助读者逐渐开始使用新的Visual Basic.Net系统。我还编写了一部姐妹卷,.NET Programmer\'s Reference(ISBN 0-07-219466-9),介绍了...
尽管要想熟练掌握Visual Basic.NET的全部细节内容可能要花掉你几年的时间,但通过本书的学习,仍能编写出令自己满意的VisualBasic.NET程序。本书可作为Visual Basic.NET初中级读者、Visual Basic.NET编程人员及...
《Visual Basic.NET 2008控件使用范例详解》作者拥有10年的编程经验,通过近200个范例的典型应用,帮助读者透彻理解Visua1 Basic.NET 2008的控件及其应用。全书共分13章,分别介绍了可调节类控件、选择类控件、显示...
《Visual Basic.NET线程参考手册》是一本专为.NET开发者,特别是使用VB.NET语言的程序员设计的详尽指南,旨在帮助他们深入理解并熟练运用线程技术。线程是现代多任务操作系统中的基本执行单元,它允许程序同时执行多...
《Visual Basic.NET程序设计教程(第2版)》根据教育部高等学校计算机基础课程教学指导委员会编制的《高等学校计算机基础课程教学基本要求》中有关“程序设计基础”课程教学基本要求编写,为普通高等院校学生将VB...
《Visual Basic .NET专业项目实例开发》源代码.rar
《Visual Basic.NET Windows Forms编程》是一本专注于使用Visual Basic.NET进行Windows桌面应用程序开发的专业书籍。Windows Forms是.NET Framework中的一个核心组件,它为开发者提供了一种构建用户界面的强大工具。...
尽管要想熟练掌握Visual Basic.NET的全部细节内容可能要花掉你几年的时间,但通过本书的学习,仍能编写出令自己满意的VisualBasic.NET程序。本书可作为Visual Basic.NET初中级读者、Visual Basic.NET编程人员及...
Visual Basic.NET 是微软公司开发的一种面向对象的编程语言,它是.NET框架的重要组成部分,旨在提供一个简单、高效且功能丰富的开发环境。"轻松学用 Visual Basic.NET" 的标题和描述表明,这可能是一份教程或者书籍...
《Visual Basic.NET 实用教程》是一本面向初学者和进阶者的编程指南,专注于使用Microsoft的.NET Framework进行软件开发。本书以简体中文编写,旨在帮助读者深入理解Visual Basic.NET编程语言及其在.NET Framework下...
1. **Visual Basic.NET简介**:VB.NET是微软.NET框架下的面向对象的编程语言,它继承了Visual Basic的经典语法,同时增加了现代编程语言的特性,如泛型、匿名方法和 LINQ。 2. **.NET Framework**:VB.NET是构建在...
**Visual Basic .NET实用教程**是一本专注于介绍如何使用Visual Studio 2005进行编程的指南,尤其针对初学者和中级开发者。该教程旨在帮助读者掌握Visual Basic .NET语言的核心概念,以及如何利用它来构建高效、现代...
1. **Visual Basic.NET简介**:VB.NET是微软.NET框架的一部分,是Visual Basic的升级版本,支持.NET Framework的所有功能。它引入了新的语法、类库和开发工具,提高了开发效率和代码质量。 2. **面向对象编程**:VB...