C#.NET * C++ * JAVASCRIPT * PYTHON * DIVERSES
XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT



C#.NET / C#.NET Grundlagen / C#.NET Arbeiten mit Zeichenketten, StringBuilder, String, Split

C#.NET Arbeiten mit Zeichenketten, StringBuilder, String, Split

C#.NET Arbeiten mit Zeichenketten, StringBuilder, String, Split

➪ Ein häufiges Problem in den meisten Programmiersprachen ist die performante Verkettung von Strings.

Das ist im System mit einigem Aufwand verbunden, weil jede Zeichenkette unveränderbar abgelegt wird. Bei jeder Änderung wird daher ein neuer String angelegt.

Abhilfe schafft hier die Klasse System.Text.StringBuilder, die Möglichkeiten veränderbarer Zeichenfolge bietet. Diese Klasse ist sealed, kann also nicht vererbt werden.

Im folgenden Beispiel wird ein Objekt sb der Klasse System.Text.StringBuilder erzeugt und mit einem Startwert vorinitialisiert. Dieser Startwert ist die Hex-Darstellung einer vorgegebenen Zahl (5795). Anschließend werden weitere formatierte Hexwerte von Zahlen eingefügt, sodass zwischen zwei Hexwerten jeweils ein | als Trennzeichen steht.

Nun können Sie den generierten String als Ganzes ausgeben, aufsplitten (Split) und den Einzel-Hexwert wieder in einen Integer konvertieren.


static void StringBuilderDemo()
{
    int startwert = 5795;
    System.Text.StringBuilder sb;
    // Der Startwert 5795 wird in Hex-Formatierung übergeben
    sb = new StringBuilder(startwert.ToString("X")) ;
    for (int i = 1; i < 10; i++)
    {
        sb.AppendFormat("|{0:X}", i*100);                              
    }
    string erg = sb.ToString();
    // Ausgabe des verketteten Strings
    Console.WriteLine(erg);
    // Ausfsplitten in Einzelstrings
    foreach(string s in erg.Split('|'))
    {
        // Konvertierung des Hexwertes in Integer
        int y = Int32.Parse(s, System.Globalization.NumberStyles.HexNumber); 
        // Ausgabe des Hexwertes sowie des konvertierten Integers              
        Console.WriteLine("{0}\t{1}", s, y);                
    }
}

Das Ergebnis sieht so aus:


16A3|64|C8|12C|190|1F4|258|2BC|320|384
16A3    5795
64      100
C8      200
12C     300
190     400
1F4     500
258     600
2BC     700
320     800
384     900

wg / 4. April 2021



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/cs_StringBuilder.html