Einführung in C#
Strings und StringBuilder
Hier finden Sie Beispiele zum Umgang mit Strings:
/* Strings und StringBuilder */ namespace ConsoleApplication_Strings { class Program { static void Main(string[] args) { /* Ausgabe von Hallo! */ string s = "Hallo!"; Console.WriteLine(s); /* Einen String mit einem Konstruktor erzeugen. Übergabeparameter ist ein Zeichen und die Wiederholung */ string x = new String('_', 30); // Ein _ wird 30 mal erzeugt Console.WriteLine(x); /* Gibt die Länge des Strings x aus */ Console.WriteLine(x.Length); /* Groß- und Kleinschreibung */ string y = "Hallo Welt!"; Console.WriteLine("alles klein schreiben: " + y.ToLower()); // Schreibt den String y in Kleinbuchstaben Console.WriteLine("ALLES GROß SCHREIBEN: " + y.ToUpper()); // Schreibt den String y Großbuchstaben /* StartsWith prüft die Übereinstimmung des 1. Zeichens eines Strings */ string s1 = "Hallo Welt!"; bool anfang = s1.StartsWith("H"); // Ergibt true, wenn das 1. Zeichen ein H ist bool ende = s1.EndsWith("t"); // Ergibt true, wenn das letzte Zeichen ein ! ist Console.WriteLine(anfang); Console.WriteLine(ende); /* Strings vergleichen. Prüft ob String a == String b */ string a = "Hallo Welt!"; string b = "Hallo Welt!"; bool vergleich = a.Equals(b); // Vergleicht den String a mit String b Console.WriteLine(vergleich); /* Strings alternativ mit == vergleichen */ bool vergleich2 = a == b; // Vergleicht den String a mit String b Console.WriteLine(vergleich2); /* Mit IndexOf die Position eines Zeichens in einem String bestimmen */ int i = a.IndexOf('l'); // Gibt die Indexposition von links zurück, wo das Zeichen l das erste Mal vorkommt Console.WriteLine("Indexposition von links: "+i); int j = a.LastIndexOf('l'); // Gibt die Indexposition von rechts zurück, wo das Zeichen l das erste Mal vorkommt Console.WriteLine("Indexposition von rechts: "+j); /* Split teilt einen String anhand eines bestimmten Zeichens auf */ string xy = "a;b;c;d"; Console.WriteLine("Der String " + xy + " hat vor dem Split eine Länge von " + xy.Length + " Zeichen"); string[] array = xy.Split(';'); // Teilt den String xy mit dem Semikolon ; auf. Der Rückgabewert ist ein Array vom Typ String Console.WriteLine("Nach dem Split: "+ array[0] + array[1] + array[2] + array[3] + " mit einer Länge von "+ array.Length +" Zeichen"); // Ausgabe des Arrays an der Stelle 0 bis 3 /* Anwenden der Methode Join, damit aus einem Array wieder ein String wird */ Console.WriteLine("Die Methode join wandelt ein Array in einen String um: " + string.Join(":", array)); /* Mit der Methode "Replace" kann ein String dynamisch ausgetauscht werden */ string z = xy.Replace(";", "-"); // Tauscht das ; mit - aus Console.WriteLine("replace: " + z); /* Mit Substring Teile eines Strings zurückgeben lassen */ string s3 = "Diplomarbeit"; Console.WriteLine("substring: " + s3.Substring(0, 6)); // Gibt die Zeichen von 0 bis 6 aus dem String s3 zurück /* Padding füllt einen String mit Zeichen auf */ string s4 = "12345"; Console.WriteLine("Auffüllen von links: "+ s4.PadLeft(10, '.')); // Auffüllen auf 10 Zeichen mit einem . von links Console.WriteLine("Auffüllen von rechts: " + s4.PadRight(10, '.')); // Auffüllen auf 10 Zeichen mit einem . von rechts /* Die Methode Trim entfernt Leerzeichen am Anfang und Ende eines Strings */ string s5 = " 12345 "; string s6 = "678"; Console.WriteLine(s5.Trim() + s6); /* Strings zusammenführen (verketten) */ string s7 = "Hallo" + " " + "erstmal!"; string s8 = s7 + " Einen schönen Tag!"; Console.WriteLine(s7); Console.WriteLine(s8); /* Die Methode "String.Format()" */ string m = "C#"; string p = string.Format("Hallo {0}, {1} ist cool", "erstmal!", m); Console.WriteLine(p); /* Der Stringbuilder ist eine eigene Klasse mit eigenen Methoden */ StringBuilder sb = new StringBuilder(); // Ein Stringbuilder muss zuerst instanziert werden string string1 = "Hallo "; string string2 = "erstmal!"; string string3 = " guten Tag!"; string string4 = new String('_', 25); sb.Append(string1); sb.Append(string2); sb.AppendLine(string3); // carriage return + linefeed sb.AppendLine(string4); // carriage return + linefeed Console.WriteLine(sb.ToString()); /* Pfadangaben */ string path = "c:\\test\\"; // Ein \ muss mit einem \\ angegeben werden (siehe Escape Sequenzen) Console.WriteLine(path); string path2 = @"c:\test\"; // Zweite Variante: Mit einem @ Console.WriteLine(path2); Console.ReadLine(); } } }