Udostępnij za pośrednictwem


Fragen und Antworten zum fünften Webcast "Get the BASICs, VB.NET für Einsteiger und Umsteiger"

Q: Soll man aus Geschwindigkeitsgründen einen Parameter ByRef übergeben (da dann kein Kopieren erforderlich ist), obwohl man ihn nicht ändern möchte, oder ist das schlechter Programmierstil?
A: Sie sollten einen Parameter NUR dann als ByRef übergeben, wenn Sie auf eine Variable innerhalb einer Methode Einfluss nehmen möchten und den geänderten Wert an die aufrufende Methode zurückgeben möchten. Die genannte Methode würde ich aus mehreren Gründen nicht empfehlen. Allgemein könnte ich nicht sagen, dass es generell schneller ist Werte ByRef statt ByVal zu übergeben da Referenztypen ohnehin nur ByRef übergeben werden (Siehe in diesem Zusammenhang Argument Passing ByVal and ByRef) und Wertetypen sich auf dem Stack befinden uns somit aller Wahrscheinlichkeit irgendwo im L1 oder L2 Cache. Argumentieren könnte man, dass es bei großen Strukturen schneller sein könnte, diese ByRef zu übergeben. In diesem Fall würde ich allerdings zuerst die Architektur der Anwendung überdenken um sicherzugehen, dass dieser Fall wirklich notwendig ist. Entscheidend ist meiner Meinung allerdings, dass Sie sich eine potentielle Fehlerquelle in Ihrem Programm einhandeln.
 
Q: Sie hatten im Laufe der ersten Demo h1 und h2 (Hunde) definiert. Einmal "as new hund" einmal nicht. Warum? Mir ist nicht klar, wann ich das Schlüsselwort "new" verwenden soll, obwohl ich doch "zwei Sandförmchen backe...".
A: Das erste Mal (Dim h1 As New Hund) wollte ich eine Instanz der Klasse Hund erstellen. Das zweite Mal (Dim h2 As Hund) ging es mir nur darum eine Variable (einen Platzhalter sozusagen) vom Typ Hund zu erstellen, der ich später eine Instanz vom Typ Hund zuweisen konnte (h2 = h1).
 
Q: Ist es richtig, dass z.B. bei dem Beispiel "Hund" nur dann zwei unterschiedliche Objekte erzeugt werden, wenn BEIDE Objekte mit New instanziiert werden?
A: Ja, absolut.
 
Q: Die Präsentation kann derzeit leider nicht als PDF gespeichert werden. Kann man diese in einer E-Mail zugestellt bekommen?
A:

Die Folien können hier heruntergeladen werden.

 

Schöne Grüße und bis zum fünften Teil!