List(Of Class): Speicherbelegung

25/11/2009 - 14:38 von Wolfgang Badura | Report spam
Liebe DotNet-Gemeinde!
Nachdem ich erst versuche mich in DotNet heimisch zu fühlen, schmunzelt
hoffentlich niemand über diese Frage:

Wenn es in einem öffentlichen Klassenmudul MyClass die Definition
Private m_Sektionen as List(Of Sektionen) gibt,
wobei Sektionen eine öffentliche Klasse innerhalb von MyClass ist,
befinden sich dann Definitionen **und** Code der Klasse Sektionen in
m_Sektionen sooft es Elemente von ihr gibt?
Oder ist das ganz anders als ich es mir vorstelle?

Besten Dank im Voraus für Auskünfte.
Wolfgang
 

Lesen sie die antworten

#1 Elmar Boye
25/11/2009 - 15:13 | Warnen spam
Hallo Wolfgang,

"Wolfgang Badura" schrieb ...
Wenn es in einem öffentlichen Klassenmudul MyClass die Definition
Private m_Sektionen as List(Of Sektionen) gibt,
wobei Sektionen eine öffentliche Klasse innerhalb von MyClass ist,
befinden sich dann Definitionen **und** Code der Klasse Sektionen in
m_Sektionen sooft es Elemente von ihr gibt?



Instanzen der List(Of) gibt es soviele, wie Du erstellt hast.

Der Code für List(Of Class) wird zwischen allen Klassen unabhàngig
vom Typ geteilt, da intern alle Verweistypen gleich behandelt werden.

Anders ist es bei Werttypen (Structure): Dort exisitert je Typ ein
Code-Block. Nur so bringen die generischen Typen einen Vorteil,
weil das Boxing entfàllt.
Andersrum sollte man dabei schon aufpassen muß, um das sog. Code Bloating
bei Genrics zu vermeiden und Werttypen nur dort einsetzen, wo man
sich größere Vorteile verspricht.

Etwas detailliert beschreibt dies:
http://blogs.msdn.com/carlos/archiv...ereof.aspx

Gruß Elmar

Ähnliche fragen