C#.NET / C#.NET Grundlagen / 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.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de