本人精通C#编程,VB没有开发经验,项目维护需要,特意整理了下VB语法,进行恶补。编程思想都是互通的,都是微软生的,语言大同小异。
Imports System一、(1)定义一个变量,并且初始化。 Dim strText As String = ""
????????或 者 Dim strText As String strText=""
???(2)实例化一个类或对象 Dim openFileDialog1 As New OpenFileDialog() Dim clsClass As New ClsClass() ???(3)声明一个数组 Dim fileNames As String() = New String(3) {} ?????fileNames(0)="张 三 " fileNames(1)="李 四" fileNames(2)="王 五"
???(4)声明一个泛型类型 Dim list As New List(Of T)() ???二、异常处理。
Try Catch ex As Exception
???Throw New Exception(ex.Message, ex)
End Try
三、 条件判断语句
If...Then...
ElseIf...Then...
Else ... End if
四、循环数组和集合
For i As Integer = 0 To openFileDialog1.FileNames.Length - 1
//exit for
Next
For Each item In List ??????????//exit for
Next
五、过程和函数
Public Sub 函数名称(ByVal/ByRef 参数名 As Integer) as 类型
End Sub
Public Function 函数名称(ByVal/ByRef 参数名 As Integer) as 类型
‘vb6.0 带返回值的函数写法
Dim str1 As String = "111"
‘Result = str1 ?
‘也可以用vb.net中的关键值Return返回即可。
Dim str2 As String = "222"
Return str2
End Function
六、vb.net 中的模块(Module),一般用途一般只用来定义全局变量和公用方法。
Class ClassName
public shared Function fnXXX() as string ‘ shared指的是静态方法相当于C#里面的Static关键字。 ??
...
End Function
End Class 类似 直接使用ClassName.fnXXX()调用。 也可以直接fnXXX()调用
Module ModuleName
public Function fnXXX() as string
...
End Function
End Module
调用:ModuleName.fnXXX()。也可以fnXXX()直接调用。-------------------------------------------------------------------------------------------模块(Module)里面可以直接有方法,这些方法自动就是静态的(或者称为共享的——VB.NET中的关键字是Shared),这些方法可以直接调用,所以Module是无法实例化,也没有必要实例化的模块无法继承,也无法实现接口模块里面可以有类,但其实这个类并不需要真的通过模块作为前缀来引用。所以模块有点虚的概念模块可以被组织到命名空间中去,因为模块其实是个虚的,所以它的方法也可以直接外层的命名空间调用。 ???七、多个相同事件,同用同一个事件。VB.NET
Private Sub rdbFeedChannelAny_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbFeedChannel1.Click, rdbFeedChannel2.Click, rdbFeedChannel3.Click
Exit Sub
C#Designerthis.radioButton1.CheckedChanged += new System.EventHandler(radioButton_CheckedChanged);this.radioButton2.CheckedChanged += new System.EventHandler(radioButton_CheckedChanged);Code;
private void radioButton_CheckedChanged(object sender, EventArgs e) ???????{ if(this.radioButton1.Checked) ???????????{ ??????????????????????????????} ???????}八、Overloads 关键字,实现重载函数。class1 Overloads Public Sub New() //构造函数。 。。。。。。 。。。。。。 end sub
Overloads Public Sub New(s as string) 。。。。。。 。。。。。。 end sub
end Class
九、withevents用于声明对象,用它声明的对象拥有自己的事件。当这个对象内部有RaiseEvent的时候,外部就会接收到。 handles就是接收这个withevents对象事件用的。比如你的一个对象有一个事件A,在执行的过程中,这个对象RaiseEvent A,那么调用者的handles 对象.A 的SUB就会被执行。
VB.NET语法小结
原文地址:https://www.cnblogs.com/shuilong/p/8522762.html