Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Pfeil 10 Einige Basisklassen
Pfeil 10.1 Object
Pfeil 10.1.1 Methoden
Pfeil 10.1.2 GetType
Pfeil 10.1.3 Gleichheit
Pfeil 10.1.4 Objekte kopieren
Pfeil 10.2 String
Pfeil 10.2.1 Erzeugung
Pfeil 10.2.2 Eigenschaften
Pfeil 10.2.3 Methoden
Pfeil 10.3 Ausgabeformatierung
Pfeil 10.3.1 Formatierung mit der Methode String.Format
Pfeil 10.3.2 Formatierung mit ToString
Pfeil 10.3.3 Benutzerdefinierte Formatierung
Pfeil 10.4 StringBuilder
Pfeil 10.4.1 Kapazität
Pfeil 10.4.2 Konstruktoren
Pfeil 10.4.3 Eigenschaften
Pfeil 10.4.4 Methoden
Pfeil 10.5 Zeitmessung
Pfeil 10.5.1 Die Zeitspanne Tick
Pfeil 10.5.2 Konstruktoren von DateTime
Pfeil 10.5.3 Eigenschaften von DateTime
Pfeil 10.5.4 Methoden von DateTime
Pfeil 10.5.5 Zeitspanne: TimeSpan


Rheinwerk Computing - Zum Seitenanfang

10.4 StringBuilder Zur nächsten ÜberschriftZur vorigen Überschrift

Objekte der Klasse String sind unveränderlich, bei jeder Änderung wird ein neues Objekt generiert. Damit ist die Klasse ungeeignet, wenn Texte sehr oft geändert werden. Dafür besser geeignet ist die Klasse StringBuilder im Namensraum System.Text. Das folgende Codefragment zeigt einen Geschwindigkeitsvergleich bei häufigen Änderungen.


'...\Basisklassen\KlasseStringBuilder\Vergleich.vb

Option Strict On 
Namespace Basisklassen 
  Module Vergleich 
    Sub Test() 
      Dim t0 As Date = Now 
      Dim ts, tb As Long

      Dim str As String = "" 
      For i As Integer = 0 To 100000 : str += "." : Next 
      ts = Now.Ticks – t0.Ticks

      t0 = Now 
      Dim sb As New Text.StringBuilder() 
      For i As Integer = 0 To 100000 : sb.Append(".") : Next 
      tb = Now.Ticks – t0.Ticks

      Console.WriteLine("Verhältnis: {0}", ts / tb) 
      Console.ReadLine() 
    End Sub 
  End Module 
End Namespace

Die Ausgabe zeigt, dass hier StringBuilder etwa 2000-mal schneller war:

Verhältnis: 1939

Die Klasse StringBuilder hat weniger Möglichkeiten als String. Insbesondere gibt es keine Methoden zur Auswertung oder Extraktion eines Teilstrings.


Hinweis
Die Methode ToString liefert eine Kopie der Zeichen im StringBuilder-Objekt als String.



Rheinwerk Computing - Zum Seitenanfang

10.4.1 Kapazität Zur nächsten ÜberschriftZur vorigen Überschrift

Nicht immer wird der von einem StringBuilder-Objekt belegte Speicher voll ausgenutzt. Die Anzahl der in dem Objekt speicherbaren Zeichen ist die Kapazität, die gerade gespeicherten Zeichen bestimmen die Länge. Bei Bedarf wird die Kapazität automatisch angepasst und neuer Speicher reserviert (jeweils mindestens Verdopplung). Sie können sie auch festlegen, aber sie darf niemals kleiner als die Länge sein.


Rheinwerk Computing - Zum Seitenanfang

10.4.2 Konstruktoren Zur nächsten ÜberschriftZur vorigen Überschrift

Im Konstruktor können Sie eine Initialisierungszeichenfolge und die Kapazität(en) festlegen, die keine Potenz von 2 sein müssen.


Public Sub New() 
Public Sub New(capacity As Integer) 
Public Sub New(value As String) 
Public Sub New(capacity As Integer, maxCapacity As Integer) 
Public Sub New(value As String, capacity As Integer) 
Public Sub New(value As String, startIndex As Integer, length As Integer, _ 
  capacity As Integer)

Bei Überschreitung der Maximalgröße wird die Ausnahme ArgumentOutOfRangeException ausgelöst.


Rheinwerk Computing - Zum Seitenanfang

10.4.3 Eigenschaften Zur nächsten ÜberschriftZur vorigen Überschrift

Außer auf die Kapazitäten (aktuelle und maximale) und die Länge (gerade gespeicherte Zeichen) greift der Indexer auf einzelne Buchstaben zu (siehe Tabelle 10.7). Das folgende Codefragment gibt »4« aus:

Dim sb As New StringBuilder("1234567") 
Console.Write(sb(3))

Tabelle 10.7 Eigenschaften von »StringBuilder« (R = ReadProtected)

Eigenschaft Methode

Capacity

Kapazität des StringBuilder-Objekts

Chars

Das Zeichen an einer Position in der Zeichenfolge (Indexer)

Length

Die Länge der Zeichenfolge

MaxCapacity

Die Maximalkapazität des StringBuilder-Objekts

R



Rheinwerk Computing - Zum Seitenanfang

10.4.4 Methoden topZur vorigen Überschrift

In der Klasse StringBuilder sind viel weniger Methoden als in String (siehe Tabelle 10.8).


Tabelle 10.8 Methoden von »StringBuilder«

Methode Eigenschaft

Append

Hängt an eine bestehende Instanz eine Zeichenfolge an.

AppendFormat

Fügt eine Zeichenfolge mit Formatangaben an.

AppendLine

Fügt eine Zeile hinzu.

CopyTo

Kopiert einen Teil des Objekts in ein Char-Array.

EnsureCapacity

Stellt sicher, dass die Kapazität mindestens so groß ist wie angegeben.

Insert

Fügt an einer Position eine Zeichenfolge ein.

Remove

Löscht ab einer Position eine Zeichensequenz.

Replace

Ersetzt in der gesamten Zeichenfolge ein Zeichen durch ein anderes.


Zuweisung einer Zeichenkette

Statt einer direkten Zuweisung verwenden Sie Append zum Aufbau von Zeichenfolgen. Alle Überladungen sind als Public Function deklariert.


Append(value As Basis) As StringBuilder 
Append(value As Char()) As StringBuilder 
Append(value As Char, repeatCount As Integer) As StringBuilder 
Append(value As String, start As Integer, count As Integer) As StringBuilder 
Append(value As Char(), start As Integer, count As Integer) As StringBuilder

Basis: Boolean, Byte, Char, Decimal, Double, Short, Integer, Long, Object,
SByte, Single, String, UInt16, UInt32, UInt64

Durch die Rückgabe eines StringBuilder-Objekts können Sie Befehle aneinanderhängen:

Dim sb As New StringBuilder() 
sb.Append("Domkloster ").Append(4).Append(" (Köln)")    'Domkloster 4 (Köln)

Brauchen Sie eine Zeichenkette vom Typ String, liefert ToString eine Kopie der im StringBuilder-Objekt gespeicherten Zeichen.

Einfügen einer Zeichenfolge

Bis auf die Überladung mit dem Wiederholungszeichen hat Insert zu jeder der Überladungen von Append ein Pendant, das als zusätzliches erstes Argument die Einfügeposition angibt.

Dim sb As New StringBuilder() 
Console.Write(sb.Append("fällt Schnee").Insert(0, "Im Winter "))

Die Ausgabe dieses Codefragments lautet:

Im Winter fällt Schnee

Löschen aus einer Zeichenfolge

Remove löscht ab der im ersten Argument angegebenen Position die im zweiten Argument angegebene Anzahl Zeichen. Zum Beispiel schreiben Sie zum Löschen der Zeichen 4 und 5:

sbObject.Remove(3, 2)

Ersetzen eines Zeichens oder einer Zeichenfolge

Zu den Ersetzungsmöglichkeiten der Klasse String kommen noch zwei Überladungen, die den Bearbeitungsbereich einschränken. Alle Überladungen sind mit Public Function deklariert.


Replace(alt As Char, neu As Char) As StringBuilder 
Replace(alt As String, neu As String) As StringBuilder 
Replace(alt As Char, neu As Char, start As Integer, count As Integer) _ 
  As StringBuilder 
Replace(alt As String, neu As String, start As Integer, count As Integer) _ 
  As StringBuilder



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008
Visual Basic 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de