Zum Inhalt springen

VB - Objektvariablen-Deklaration


piomode1

Empfohlene Beiträge

Hi, @all!

Ich habe in der Vergangenheit unterschiedliche Deklarations-Möglichkeiten gesehen.

Es geht mir hier nicht um den "bw" an sich, sondern nur um die unterschiedlichen Deklarationen.

Die ersten beiden Möglichkeiten sind für mich "identisch". Ist die dritte Schreibweise nur eine verkürzte?

Oder gibt es irgendwelche Unterschiede? Geschwindigkeit? Evtl. Speicherbedarf? ...?

Imports System.ComponentModel


Public Class Form1


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        'Dim bw As BackgroundWorker = New BackgroundWorker


        'Dim bw As BackgroundWorker

        'bw = New BackgroundWorker


        'Dim bw As New BackgroundWorker


    End Sub


End Class

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

Bei den ersten beiden Varianten gibst Du den Zieltyp explizit an.

Bei der dritten Variante erkennt der Compiler den Typ zur Laufzeit. (Sollte ab dem .NET 3.0 möglich sein)

Ich habe gelernt, dass man Objekte explizit deklarieren (Interface oder Datentyp) soll, wenn man den Typ zur Entwurfszeit kennt.

Ob das wirklich Performance bringt, wage ich zu bezweifeln. Dafür sind heutige Rechner zu schnell :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei der dritten Variante erkennt der Compiler den Typ zur Laufzeit. (Sollte ab dem .NET 3.0 möglich sein)

Funktioniert aber, wenn ich mich nicht Irre, schon seit .Net 1.0.

Ich denke das ist einfach eine Kurzschreibweise aber der kompilierte IL-Code wird wahrscheinlich genauso aussehen wie der der ersten Variante.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Funktioniert aber, wenn ich mich nicht Irre, schon seit .Net 1.0.

Ich denke das ist einfach eine Kurzschreibweise aber der kompilierte IL-Code wird wahrscheinlich genauso aussehen wie der der ersten Variante.

Ok, ich komme aus der C#-Ecke, hatte mich da jetzt an dem var-Typ orientiert :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oder gibt es irgendwelche Unterschiede? Geschwindigkeit? Evtl. Speicherbedarf? ...?

Der einzige Unterschied ist die Schreibweise beim Code erstellen (und die Lesbarkeit).

Nach dem Kompilieren sollten alle drei Varianten gleich "optimiert" sein.

Mach doch einfach mal nen Selbstversuch mit allen drei Varianten und untersuche die erstellte Assembly mit dem "Reflector", dann siehst Du was der Compiler aus Deinem Code gemacht hat.

Eventuell siehst Du noch interessante Unterschiede wenn Du Deine Assembly unterschiedlich optimieren lässt (Debug / Release usw)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...