DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Zeichenketten in der Garbage Collection

Wenn man in den Namespaces und Klassen des Frameworks zu browsen beginnt, kommt allerlei erstaunliches zu Tage. Im Namensraum System.Text finden sich folgende Klassen:

  1. ASCIIEncoding
  2. Encoding
  3. UTF7Encoding 
  4. Decoder
  5. StringBuilder
  6. UTF8Encoding 
  7. Encoder
  8. UnicodeEncoding 

Die En- & Decoding Klassen lasse ich hier mal unberücksichtigt. Im Fokus meines Interesses steht die Stringbuilder Klasse.
Dazu muss zunächst ausgeführt werden, das Strings üblicherweise in der Garbage Collection verwaltet werden. Diese entscheided völlig autark über die Freigabe von verwendeten Speicherplatz. Eine Eigenheit des Frameworks ist, das bei Zuweisung eines Strings immer neuer Speicherplatz belegt wird.
Folgender Code belegt deshalb den Speicherplatz doppelt.
strName=strname+" Preishuber"

Schlimmer wird es bei Zeichenkettenzusammensetzungen wie Sie z.b. für formatierte Ausgaben verwendet werden.
Man kann diesen Effekt auch beobachten. Im Performance Monitor von W2k finden sich neue Counter für den Garbage Collector.

Auf der anderen Seite gibt es eine Klasse, die eben für Stringzusammensetzungen gebaut wurde, die StringBuilder Klasse.
Die Verwendung ist sehr einfach. Über Append wird ein neuer String angefügt.

Dim strFormat as new Stringbuilder
for i = 1 to 1000
 strFormat.Append(" Preishuber")
next i

Weitere wichtige Methoden sind:

  1. AppendFormat
  2. Replace
  3. Insert
  4. Remove

Die Funktionalität ist selbsterklärend.

Da Stringbuilder eine umfangreiche Klasse ist und die Instanz dementsprechend ein großes Objekt ergibt, ist der Einsatz erst ab einer größeren Anzahl sinnvoll. Erfahrungsgemäß liegt die Grenze bei 5 Zeichenketten die addiert werden. Dann aber ist mit Stringbuilder der Code wesentlich schneller.

Dieser Artikel bezieht sich auf die Beta 2 des .NET Frameworks.

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 09.10.2001
  Gültig bis: 08.11.2001
2 Ratings
Bewertung: 90,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG