piomode1 Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 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 Zitieren
lbm1305 Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 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 :-) Zitieren
chrixko Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 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. Zitieren
lbm1305 Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 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 :-) Zitieren
TDM Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 (bearbeitet) Leerpost. Bearbeitet 28. Juli 2010 von TDM verlesen Zitieren
piomode1 Geschrieben 28. Juli 2010 Autor Geschrieben 28. Juli 2010 Super! Vielen Dank für alle Antworten. Zitieren
realgun Geschrieben 28. Juli 2010 Geschrieben 28. Juli 2010 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) Zitieren
Empfohlene Beiträge
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.