EMZETT.
Login

Kurz: Sub Main() Zeile(“CInt(3.5)”, CInt(3.5)) Zeile(“CInt(2.5)”, CInt(2.5)) Zeile(“CDbl(""2.5"") + 1”, CDbl(“2.5”) + 1) Zeile(“CBool(0)”, CBool(0)) Zeile(“CStr(True)”, CStr(True)) Zeile(“TypeName(1)”, TypeName(1)).

Teil des Kurses Visual Basic .NET

Kapitel 8 von 8 im Kurs Visual Basic .NET. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Syntax im Überblick

KonzeptVB.NET
VariableDim x As Integer = 5
KonstanteConst PI As Double = 3.14
FunktionFunction F(a As Integer) As Integer
ProzedurSub S()
BedingungIf .. Then .. ElseIf .. Else .. End If
SchleifeFor, For Each, While, Do .. Loop
KlasseClass .. End Class
VererbungInherits, Overrides, MyBase
InterfaceInterface .. End Interface, Implements
FehlerTry .. Catch .. Finally .. End Try
Kommentar' Kommentar
Zeilenfortsetzung_ (selten nötig)
Verkettung&
Module Program
    Sub Zeile(name As String, wert As Object)
        Console.WriteLine(name.PadRight(22) & wert.ToString())
    End Sub
 
    Sub Main()
        Zeile("CInt(3.5)", CInt(3.5))
        Zeile("CInt(2.5)", CInt(2.5))
        Zeile("CDbl(""2.5"") + 1", CDbl("2.5") + 1)
        Zeile("CBool(0)", CBool(0))
        Zeile("CStr(True)", CStr(True))
        Zeile("TypeName(1)", TypeName(1))
        Zeile("IsNumeric(""12"")", IsNumeric("12"))
        Zeile("IsNumeric(""x"")", IsNumeric("x"))
        Zeile("Format(1234.5, ""N1"")", Format(1234.5, "N1"))
        Zeile("Int(-2.5)", Int(-2.5))
        Zeile("Fix(-2.5)", Fix(-2.5))
        Zeile("Math.Sign(-9)", Math.Sign(-9))
        Zeile("Len(""abc"")", Len("abc"))
        Zeile("InStr(""abc"", ""c"")", InStr("abc", "c"))
        Zeile("Replace(""aXa"", ""X"", ""-"")", Replace("aXa", "X", "-"))
        Zeile("Nothing Is Nothing", Nothing Is Nothing)
        Zeile("5 Mod 3", 5 Mod 3)
        Zeile("-5 \ 2", -5 \ 2)
        Zeile("If(True, 1, 2)", If(True, 1, 2))
    End Sub
End Module

Ausgabe:

CInt(3.5)             4
CInt(2.5)             2
CDbl("2.5") + 1       3.5
CBool(0)              False
CStr(True)            True
TypeName(1)           Integer
IsNumeric("12")       True
IsNumeric("x")        False
Format(1234.5, "N1")  1,234.5
Int(-2.5)             -3
Fix(-2.5)             -2
Math.Sign(-9)         -1
Len("abc")            3
InStr("abc", "c")     3
Replace("aXa", "X", "-")a-a
Nothing Is Nothing    True
5 Mod 3               2
-5 \ 2                -2
If(True, 1, 2)        1

Typische Fehler

Module Program
    Sub Main()
        Dim x As Integer = "text"
    End Sub
End Module

Fehlermeldung:

Option Strict On disallows implicit conversions from 'String' to 'Integer'
Module Program
    Sub Main()
        Console.WriteLine(unbekannt)
    End Sub
End Module

Fehlermeldung:

'unbekannt' is not declared

Achtung

VB.NET unterscheidet Groß-/Kleinschreibung nicht, aber Operatoren schon in ihrer Bedeutung: = ist sowohl Zuweisung als auch Vergleich (abhängig vom Kontext), <> ist „ungleich“. Mit Option Strict On und Option Explicit On fängt der Compiler viele Fehler früh ab.

Weiterführende Quellen

  • learn.microsoft.com/dotnet/visual-basic: Dokumentation und Sprachreferenz
  • „Programming Visual Basic .NET“ und die Microsoft-Beispiele auf GitHub
  • dotnet.microsoft.com/learn: kostenlose Kurse

Merke

  • VB.NET: gut lesbar, vollständig in .NET integriert, ideal für Geschäftslogik und Desktop-Anwendungen
  • Option Strict On und LINQ machen Code sicherer und kürzer

Übungsaufgabe

Portiere ein kleines C#-Programm nach VB.NET und beobachte die Unterschiede in der Syntax.

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: Praxisprojekte

Alle Kapitel: Visual Basic .NET im Überblick