加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么是VB.NET-

发布时间:2020-12-17 08:13:30 所属栏目:百科 来源:网络整理
导读:Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言(名片中说VB.NET是”…中间解释性语言“,这种说法极不准确,甚至完全错误。可能原编辑者是指的编译器会先将源码翻译成MSIL(Microsoft Intermediate Language)中间语言这回事,但这和
Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言(名片中说VB.NET是”…中间解释性语言“,这种说法极不准确,甚至完全错误。可能原编辑者是指的编译器会先将源码翻译成MSIL(Microsoft Intermediate Language)中间语言这回事,但这和”解释性语言“有很大差别),可以看作是Visual Basic在·Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment).SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页http://msdn.microsoft.com/vbasic。
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。

关键词

关键字
描述
Namespace
包含类似或相关功能的类的集合
Class
用来定义一个对象,包含对象的属性(包括变量)、方法(包括过程sub和函数)
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 运算符 (Visual Basic),GetType 运算符 (Visual Basic),函数表达式 (Visual Basic),If 运算符 (Visual Basic),TypeOf 运算符 (Visual Basic)
  • DirectCast 运算符 (Visual Basic)
  • TryCast 运算符 (Visual Basic)
  • New 运算符 (Visual Basic)
*运算优先级:算术>连接>比较>逻辑运算(用括号可改变优先级)
详细:
如果表达式中出现几种运算,将按照预先确定的称为“运算符优先级”的顺序计算和解析各个部分。
优先级规则
当表达式包含不止一种运算符时,则按照下列规则对其进行计算:
  • 算术运算符和串联运算符的优先级在下面列出,它们的优先级均高于比较运算符、逻辑运算符和位运算符。
  • 所有比较运算符具有相同的优先级,它们的优先级均高于逻辑运算符和位运算符,但低于算术运算符和串联运算符。
  • 逻辑运算符和位运算符的优先级在下面列出,它们的优先级均低于算术运算符、串联运算符和比较运算符。
  • 具有相同优先顺序的运算符将按照它们在表达式中出现的顺序从左至右进行计算。
优先级顺序
运算符的计算优先级顺序如下:
算术运算符和串联运算符
求幂 (^)
一元标识和非(+、–)
乘法和浮点除法(*、/)
整数除法 ()
取模 (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),可以把它当作一个判断的函数,它有返回值。

系统常量

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表达式的本质——匿名方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读