Sign in
MSDN Blogs
Microsoft Blog Images
More ...
Fragen und Antworten zum fünften Webcast "Get the BASICs, VB.NET für Einsteiger und Umsteiger"
Common Tasks
Blog Home
Email Blog Author
RSS for comments
RSS for posts
Search
Tags
.NET Framework
ASP.NET
ASP.NET AJAX
C#
Cool Stuff
Daily .Net Feeds
Fotografie
Get the BASICs
Grundlagen
HTML
JavaScript
Level 100
Level 200
Level 300
MSDN Solve
Silverlight
SQL
SQL Server
Various
VB.NET
Virtual Earth
Visual Studio
Webcast
Windows Live
Windows Vista
Archives
Archives
February 2011
(1)
June 2010
(2)
May 2010
(3)
April 2010
(2)
March 2010
(4)
November 2009
(1)
October 2009
(2)
September 2009
(5)
August 2009
(1)
July 2009
(1)
June 2009
(1)
April 2009
(5)
March 2009
(2)
October 2008
(1)
September 2008
(2)
August 2008
(2)
June 2008
(2)
May 2008
(4)
April 2008
(8)
March 2008
(13)
February 2008
(8)
January 2008
(7)
December 2007
(10)
November 2007
(16)
October 2007
(18)
September 2007
(8)
August 2007
(16)
July 2007
(22)
June 2007
(3)
May 2007
(7)
April 2007
(9)
March 2007
(9)
February 2007
(20)
January 2007
(3)
December 2006
(16)
November 2006
(20)
October 2006
(9)
September 2006
(6)
August 2006
(15)
Fragen und Antworten zum fünften Webcast "Get the BASICs, VB.NET für Einsteiger und Umsteiger"
Daniel_Walzenbach
2 Dec 2006 8:12 PM
Comments
0
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!
0 Comments
Webcast
,
Get the BASICs
,
Grundlagen
Leave a Comment
Name
Comment
Please add 6 and 5 and type the answer here:
Post