Language SupportThe Microsoft .NET Platform currently offers built-in support for three languages: C#, Visual Basic, and JScript.The exercises and code samples in this tutorial demonstrate how to use C#, Visual Basic, and JScript to build .NET applications. For information regarding the syntax of the other languages, refer to the complete documentation for the .NET Framework SDK. The following table is provided to help you understand the code samples in this tutorial as well as the differences between the three languages:
Dim x As Integer Dim s As String Dim s1, s2 As String Dim o 'Implicitly Object Dim obj As New Object() Public name As String VB
Response.Write("foo")
VB
' This is a comment ' This ' is ' a ' multiline ' comment VB
Dim s, value As String
s = Request.QueryString("Name")
value = Request.Cookies("Key").Value
'Note that default non-indexed properties
'must be explicitly named in VB
VB
' Default Indexed Property
Public Default ReadOnly Property DefaultProperty(Name As String) As String
Get
Return CStr(lookuptable(name))
End Get
End Property
VB
Public Property Name As String
Get
...
Return ...
End Get
Set
... = Value
End Set
End Property
VB
Declare and Use an Enumeration
' Declare the Enumeration
Public Enum MessageSize
Small = 0
Medium = 1
Large = 2
End Enum
' Create a Field or Property
Public MsgSize As MessageSize
' Assign to the property using the Enumeration values
MsgSize = small
VB
Dim S As String For Each S In Coll ... Next VB
' Declare a void return function
Sub VoidFunction()
...
End Sub
' Declare a function that returns a value
Function StringFunction() As String
...
Return CStr(val)
End Function
' Declare a function that takes and returns values
Function ParmFunction(a As String, b As String) As String
...
Return CStr(A & B)
End Function
' Use the Functions
VoidFunction()
Dim s1 As String = StringFunction()
Dim s2 As String = ParmFunction("Hello", "World!")
VB
' Stand-alone attribute
<STAThread>
' Attribute with parameters
<DllImport("ADVAPI32.DLL")>
' Attribute with named parameters
<DllImport("KERNEL32.DLL", CharSet:=CharSet.Auto)>
VB
Dim a(2) As String
a(0) = "1"
a(1) = "2"
a(2) = "3"
Dim a(2,2) As String
a(0,0) = "1"
a(1,0) = "2"
a(2,0) = "3"
VB
Dim s As String = "Hello World"
Dim i As Integer = 1
Dim a() As Double = { 3.00, 4.00, 5.00 }
VB
If Not (Request.QueryString = Nothing) ... End If VB
Select Case FirstName
Case "John"
...
Case "Paul"
...
Case "Ringo"
...
Case Else
...
End Select
VB
Dim I As Integer
For I = 0 To 2
a(I) = "test"
Next
VB
Dim I As Integer I = 0 Do While I < 3 Console.WriteLine(I.ToString()) I += 1 Loop VB
Try
' Code that throws exceptions
Catch E As OverflowException
' Catch a specific exception
Catch E As Exception
' Catch the generic exceptions
Finally
' Execute some cleanup code
End Try
VB
' Using Strings
Dim s1, s2 As String
s2 = "hello"
s2 &= " world"
s1 = s2 & " !!!"
' Using StringBuilder class for performance
Dim s3 As New StringBuilder()
s3.Append("hello")
s3.Append(" world")
s3.Append(" !!!")
VB
Sub MyButton_Click(Sender As Object,
E As EventArgs)
...
End Sub
VB
' Create a public event
Public Event MyEvent(Sender as Object, E as EventArgs)
' Create a method for firing the event
Protected Sub OnMyEvent(E As EventArgs)
RaiseEvent MyEvent(Me, E)
End Sub
VB
Add or Remove Event Handlers to Events
AddHandler Control.Change, AddressOf Me.ChangeEventHandler RemoveHandler Control.Change, AddressOf Me.ChangeEventHandler VB
Dim obj As MyObject
Dim iObj As IMyObject
obj = Session("Some Value")
iObj = CType(obj, IMyObject)
VB
Dim i As Integer Dim s As String Dim d As Double i = 3 s = i.ToString() d = CDbl(s) ' See also CDbl(...), CStr(...), ... VB
Class Definition with Inheritance
Imports System
Namespace MySpace
Public Class Foo : Inherits Bar
Dim x As Integer
Public Sub New()
MyBase.New()
x = 4
End Sub
Public Sub Add(x As Integer)
Me.x = Me.x + x
End Sub
Overrides Public Function GetNum() As Integer
Return x
End Function
End Class
End Namespace
' vbc /out:libraryvb.dll /t:library
' library.vb
VB
Public Class MyClass : Implements IEnumerable
...
Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
...
End Function
End Class
VB
Class Definition with a Main Method
Imports System
Public Class ConsoleVB
Public Sub New()
MyBase.New()
Console.WriteLine("Object Created")
End Sub
Public Shared Sub Main()
Console.WriteLine("Hello World")
Dim cvb As New ConsoleVB
End Sub
End Class
' vbc /out:consolevb.exe /t:exe console.vb
VB
Imports System
Public Module ConsoleVB
Public Sub Main()
Console.WriteLine("Hello World")
End Sub
End Module
' vbc /out:consolevb.exe /t:exe console.vb
VB
|