C# - Zeichenfolgen
In C# können Sie Zeichenfolgen als Array von Zeichen verwenden. Üblicher ist jedoch die Verwendung der Zeichenfolge Schlüsselwort, um eine String-Variable zu deklarieren. Das Schlüsselwort string ist ein Alias für System.String Klasse.
Ein String-Objekt erstellen
Sie können ein String-Objekt mit einer der folgenden Methoden erstellen −
-
Durch Zuweisen eines String-Literals zu einer String-Variablen
-
Durch die Verwendung eines String-Klassenkonstruktors
-
Durch die Verwendung des Zeichenfolgenverkettungsoperators (+)
-
Durch Abrufen einer Eigenschaft oder Aufrufen einer Methode, die einen String zurückgibt
-
Durch Aufrufen einer Formatierungsmethode, um einen Wert oder ein Objekt in seine Zeichenfolgendarstellung umzuwandeln
Das folgende Beispiel demonstriert dies −
using System; namespace StringApplication { class Program { static void Main(string[] args) { //from string literal and string concatenation string fname, lname; fname = "Rowan"; lname = "Atkinson"; char []letters= { 'H', 'e', 'l', 'l','o' }; string [] sarray={ "Hello", "From", "Tutorials", "Point" }; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname); //by using string constructor { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //methods returning string { "Hello", "From", "Tutorials", "Point" }; string message = String.Join(" ", sarray); Console.WriteLine("Message: {0}", message); //formatting method to convert a value DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1); string chat = String.Format("Message sent at {0:t} on {0:D}", waiting); Console.WriteLine("Message: {0}", chat); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
Eigenschaften der String-Klasse
Die String-Klasse hat die folgenden zwei Eigenschaften −
Sr.No. | Eigenschaft &Beschreibung |
---|---|
1 | Zeichen Ruft das Zeichen ab Objekt an einer bestimmten Position im aktuellen String Objekt. |
2 | Länge Ruft die Anzahl der Zeichen im aktuellen String-Objekt ab. |
Methoden der String-Klasse
Die String-Klasse verfügt über zahlreiche Methoden, die Ihnen bei der Arbeit mit den String-Objekten helfen. Die folgende Tabelle enthält einige der am häufigsten verwendeten Methoden −
Sr.No. | Methoden &Beschreibung |
---|---|
1 | public static int Compare(string strA, string strB) Vergleicht zwei angegebene String-Objekte und gibt eine ganze Zahl zurück, die ihre relative Position in der Sortierreihenfolge angibt. |
2 | public static int Compare(string strA, string strB, boolignoreCase ) Vergleicht zwei angegebene Zeichenfolgenobjekte und gibt eine Ganzzahl zurück, die ihre relative Position in der Sortierreihenfolge angibt. Allerdings wird die Groß-/Kleinschreibung ignoriert, wenn der boolesche Parameter wahr ist. |
3 | öffentliche statische Zeichenfolge Concat(Zeichenfolge str0, Zeichenfolge str1) Verkettet zwei String-Objekte. |
4 | öffentliche statische Zeichenfolge Concat(Zeichenfolge str0, Zeichenfolge str1, Zeichenfolge str2) Verkettet drei String-Objekte. |
5 | öffentliche statische Zeichenfolge Concat(Zeichenfolge str0, Zeichenfolge str1, Zeichenfolge str2, Zeichenfolge str3) Verkettet vier String-Objekte. |
6 | public bool Enthält(String-Wert) Gibt einen Wert zurück, der angibt, ob das angegebene String-Objekt in diesem String vorkommt. |
7 | öffentliche statische Zeichenfolge Copy(string str) Erstellt ein neues String-Objekt mit demselben Wert wie der angegebene String. |
8 | public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count) Kopiert eine angegebene Anzahl von Zeichen von einer angegebenen Position des String-Objekts an eine angegebene Position in einem Array von Unicode-Zeichen. |
9 | public bool EndsWith(string value) Bestimmt, ob das Ende des String-Objekts mit dem angegebenen String übereinstimmt. |
10 | public bool Equals(string value) Bestimmt, ob das aktuelle String-Objekt und das angegebene String-Objekt denselben Wert haben. |
11 | public static bool Equals(string a, string b) Bestimmt, ob zwei angegebene String-Objekte denselben Wert haben. |
12 | öffentliches statisches Zeichenfolgenformat (Zeichenfolgenformat, Objekt arg0) Ersetzt ein oder mehrere Formatelemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts. |
13 | public int IndexOf(Zeichenwert) Gibt den nullbasierten Index des ersten Vorkommens des angegebenen Unicode-Zeichens in der aktuellen Zeichenfolge zurück. |
14 | public int IndexOf(string value) Gibt den nullbasierten Index des ersten Vorkommens der angegebenen Zeichenfolge in dieser Instanz zurück. |
15 | public int IndexOf(Zeichenwert, int startIndex) Gibt den nullbasierten Index des ersten Vorkommens des angegebenen Unicode-Zeichens in dieser Zeichenfolge zurück, wobei die Suche an der angegebenen Zeichenposition beginnt. |
16 | public int IndexOf(string value, int startIndex) Gibt den nullbasierten Index des ersten Vorkommens der angegebenen Zeichenfolge in dieser Instanz zurück, wobei die Suche an der angegebenen Zeichenposition beginnt. |
17 | public int IndexOfAny(char[] anyOf) Gibt den nullbasierten Index des ersten Vorkommens eines beliebigen Zeichens in einem angegebenen Array von Unicode-Zeichen in dieser Instanz zurück. |
18 | public int IndexOfAny(char[] anyOf, int startIndex) Gibt den nullbasierten Index des ersten Vorkommens eines beliebigen Zeichens in dieser Instanz in einem angegebenen Array von Unicode-Zeichen zurück, wobei die Suche an der angegebenen Zeichenposition beginnt. |
19 | öffentlicher String Insert(int startIndex, string value) Gibt einen neuen String zurück, in dem ein bestimmter String an einer bestimmten Indexposition im aktuellen String-Objekt eingefügt wird. |
20 | public static bool IsNullOrEmpty(string value) Gibt an, ob die angegebene Zeichenfolge null oder eine leere Zeichenfolge ist. |
21 | öffentlicher statischer String Join(String-Trennzeichen, Params-String[]-Wert) Verkettet alle Elemente eines String-Arrays unter Verwendung des angegebenen Trennzeichens zwischen jedem Element. |
22 | öffentlicher statischer String Join(String Separator, String[] value, int startIndex, int count) Verkettet die angegebenen Elemente eines String-Arrays unter Verwendung des angegebenen Trennzeichens zwischen den einzelnen Elementen. |
23 | public int LastIndexOf(Zeichenwert) Gibt die nullbasierte Indexposition des letzten Vorkommens des angegebenen Unicode-Zeichens innerhalb des aktuellen Zeichenfolgenobjekts zurück. |
24 | public int LastIndexOf(string value) Gibt die nullbasierte Indexposition des letzten Vorkommens einer angegebenen Zeichenfolge innerhalb des aktuellen Zeichenfolgenobjekts zurück. |
25 | öffentliche Zeichenfolge Remove(int startIndex) Entfernt alle Zeichen in der aktuellen Instanz, beginnend an einer angegebenen Position bis zur letzten Position, und gibt die Zeichenfolge zurück. |
26 | öffentlicher String Remove(int startIndex, int count) Entfernt die angegebene Anzahl von Zeichen in der aktuellen Zeichenfolge, beginnend an einer angegebenen Position, und gibt die Zeichenfolge zurück. |
27 | öffentliche Zeichenkette Ersetze (Zeichen altesZeichen, Zeichen neuesZeichen) Ersetzt alle Vorkommen eines angegebenen Unicode-Zeichens im aktuellen String-Objekt durch das angegebene Unicode-Zeichen und gibt den neuen String zurück. |
28 | öffentliche Zeichenfolge Ersetzen (Zeichenfolge alterWert, Zeichenfolge neuerWert) Ersetzt alle Vorkommen einer angegebenen Zeichenfolge im aktuellen Zeichenfolgenobjekt durch die angegebene Zeichenfolge und gibt die neue Zeichenfolge zurück. |
29 | public string[] Split(params char[] separator) Gibt ein String-Array zurück, das die Teilstrings im aktuellen String-Objekt enthält, getrennt durch Elemente eines angegebenen Unicode-Zeichen-Arrays. |
30 | public string[] Split(char[] separator, int count) Gibt ein String-Array zurück, das die Teilstrings im aktuellen String-Objekt enthält, getrennt durch Elemente eines angegebenen Unicode-Zeichen-Arrays. Der Parameter int gibt die maximale Anzahl der zurückzugebenden Teilstrings an. |
31 | public bool StartsWith(string value) Bestimmt, ob der Anfang dieser Zeichenfolgeninstanz mit der angegebenen Zeichenfolge übereinstimmt. |
32 | public char[] ToCharArray() Gibt ein Unicode-Zeichen-Array mit allen Zeichen im aktuellen String-Objekt zurück. |
33 | public char[] ToCharArray(int startIndex, int length) Gibt ein Unicode-Zeichen-Array mit allen Zeichen im aktuellen String-Objekt zurück, beginnend mit dem angegebenen Index und bis zur angegebenen Länge. |
34 | öffentliche Zeichenfolge ToLower() Gibt eine in Kleinbuchstaben umgewandelte Kopie dieser Zeichenfolge zurück. |
35 | öffentliche Zeichenfolge ToUpper() Gibt eine in Großbuchstaben umgewandelte Kopie dieser Zeichenfolge zurück. |
36 | öffentliche Zeichenfolge Trim() Entfernt alle führenden und abschließenden Leerzeichen aus dem aktuellen String-Objekt. |
Die vollständige Liste der Methoden und String-Klassenkonstruktoren finden Sie in der MSDN-Bibliothek.
Beispiele
Das folgende Beispiel demonstriert einige der oben erwähnten Methoden −
Strings vergleichen
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str1 = "This is test"; string str2 = "This is text"; if (String.Compare(str1, str2) == 0) { Console.WriteLine(str1 + " and " + str2 + " are equal."); } else { Console.WriteLine(str1 + " and " + str2 + " are not equal."); } Console.ReadKey() ; } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
This is test and This is text are not equal.
String enthält String
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "This is test"; if (str.Contains("test")) { Console.WriteLine("The sequence 'test' was found."); } Console.ReadKey() ; } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
The sequence 'test' was found.
Erhalten einer Teilzeichenfolge
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "Last night I dreamt of San Pedro"; Console.WriteLine(str); string substr = str.Substring(23); Console.WriteLine(substr); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
San Pedro
Strings verbinden
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string[] starray = new string[]{"Down the way nights are dark", "And the sun shines daily on the mountain top", "I took a trip on a sailing ship", "And when I reached Jamaica", "I made a stop"}; string str = String.Join("\n", starray); Console.WriteLine(str); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop
C Sprache
- C#-Klasse und -Objekt
- C#-String
- Java-Strings
- Java-Singleton-Klasse
- Java-Enum-Strings
- C++ Strings:strcpy(), strcat(), strlen(), strcmp() BEISPIELE
- Strings in C:Variable deklarieren, initialisieren, drucken, Beispiel
- Python-Strings:Ersetzen, Verbinden, Teilen, Umkehren, Groß- und Kleinbuchstaben
- Java - Strings-Klasse
- Java - Serialisierung