C# String

In C# können Sie Zeichenarrays verwenden, um Zeichenfolgen darzustellen; üblicher ist es jedoch,stringdas Schlüsselwort zu verwenden, um eine Zeichenfolgenvariable zu deklarieren. Das Schlüsselwort string istSystem.StringAlias einer Klasse.

Ein String-Objekt erstellen

Sie können ein String-Objekt mit einer der folgenden Methoden erstellen:

  • Durch Zuweisen einer Zeichenfolge zu einer String-Variablen
  • Durch Verwenden eines Konstruktors der String-Klasse
  • Durch Verwenden des Zeichenfolgenverkettungsoperators ( + )
  • Durch Abrufen einer Eigenschaft oder Aufrufen einer Methode, die eine Zeichenfolge zurückgibt
  • Durch Verwenden einer Formatierungsmethode zum Konvertieren eines Werts oder Objekts in seine Zeichenfolgendarstellung

Das folgende Beispiel demonstriert dies:

Beispiel

using System;

namespace StringApplication
{
    class Program
    {
        static void Main(string[] args)
        {
           // String, Zeichenfolgenverkettung
            string fname, lname;
            fname = "Rowan";
            lname = "Atkinson";

            string fullname = fname + lname;
            Console.WriteLine("Vollständiger Name: {0}", fullname);

            // Durch die Verwendung des String-Konstruktors
            char[] letters = { 'H', 'e', 'l', 'l','o' };
            string greetings = new string(letters);
            Console.WriteLine("Begrüßung: {0}", greetings);

            // Methode gibt eine Zeichenfolge zurück
            string[] sarray = { "Hallo", "Von", "Tutorials", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Nachricht: {0}", message);

            // Formatierungsmethode zum Konvertieren von Werten
            DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Nachricht gesendet um {0:t} am {0:D}",
            Warten);
            Console.WriteLine("Message: {0}", chat);
            Console.ReadKey() ;
        }
    }
}

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 17:58 on Wednesday, 10 October 2012

Eigenschaften der String-Klasse

Die String-Klasse hat die folgenden zwei Eigenschaften:

Laufende NummerEigenschaftsname & Beschreibung
1Chars
im aktuellenStringVom Objekt abrufenCharan der angegebenen Position des Objekts.
2Länge
Im aktuellenStringDie Anzahl der Zeichen im Objekt abrufen.

Methoden der String-Klasse

Die String-Klasse besitzt viele Methoden zum Bearbeiten von String-Objekten. Die folgende Tabelle enthält einige der am häufigsten verwendeten Methoden:

Laufende NummerMethodenname & Beschreibung
1public 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. Bei dieser Methode wird zwischen Groß- und Kleinschreibung unterschieden.
2public static int Compare( string strA, string strB, bool ignoreCase )
Vergleicht zwei angegebene String-Objekte und gibt eine ganze Zahl zurück, die ihre relative Position in der Sortierreihenfolge angibt. Wenn der boolesche Parameter jedoch true ist, wird bei dieser Methode nicht zwischen Groß- und Kleinschreibung unterschieden.
3public static string Concat( string str0, string str1 )
Verkettet zwei String-Objekte.
4public static string Concat( string str0, string str1, string str2 )
Verkettet drei String-Objekte.
5public static string Concat( string str0, string str1, string str2, string str3 )
Verkettet vier String-Objekte.
6public bool Contains( string value )
Gibt einen Wert zurück, der angibt, ob ein angegebener String innerhalb des Strings vorkommt.
7public static string Copy( string str )
Erstellt ein neues String-Objekt mit demselben Wert wie die angegebene Zeichenfolge.
8public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
Kopiert eine angegebene Anzahl von Zeichen von einer angegebenen Position im String-Objekt an eine angegebene Position in einem Unicode-Zeichenarray.
9public bool EndsWith( string value )
Bestimmt, ob das Ende des String-Objekts mit der angegebenen Zeichenfolge übereinstimmt.
10public bool Equals( string value )
Bestimmt, ob das aktuelle String-Objekt denselben Wert wie das angegebene String-Objekt hat.
11public static bool Equals( string a, string b )
Bestimmt, ob zwei angegebene String-Objekte denselben Wert haben.
12public static string Format( string format, Object arg0 )
Ersetzt mindestens ein Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts.
13public int IndexOf( char value )
Gibt den nullbasierten Index des ersten Vorkommens eines angegebenen Unicode-Zeichens in der aktuellen Zeichenfolge zurück.
14public int IndexOf( string value )
Gibt den Index des ersten Vorkommens der angegebenen Zeichenfolge in dieser Instanz zurück, wobei der Index bei 0 beginnt.
15public int IndexOf( char value, int startIndex )
Gibt den Index des ersten Vorkommens des angegebenen Unicode-Zeichens zurück, wobei ab der angegebenen Zeichenposition in dieser Zeichenfolge gesucht wird und der Index bei 0 beginnt.
16public int IndexOf( string value, int startIndex )
Gibt den Index des ersten Vorkommens der angegebenen Zeichenfolge zurück, wobei ab der angegebenen Zeichenposition in dieser Instanz gesucht wird und der Index bei 0 beginnt.
17public int IndexOfAny( char[] anyOf )
Gibt den Index des ersten Vorkommens eines beliebigen Zeichens in einem angegebenen Unicode-Zeichenarray in dieser Instanz zurück, wobei der Index bei 0 beginnt.
18public int IndexOfAny( char[] anyOf, int startIndex )
Gibt den Index des ersten Vorkommens eines beliebigen Zeichens in einem angegebenen Unicode-Zeichenarray zurück, wobei ab der angegebenen Zeichenposition in dieser Instanz gesucht wird und der Index bei 0 beginnt.
19public string Insert( int startIndex, string value )
Gibt eine neue Zeichenfolge zurück, in die eine angegebene Zeichenfolge an der angegebenen Indexposition des aktuellen Zeichenfolgenobjekts eingefügt wird.
20public static bool IsNullOrEmpty( string value )
Gibt an, ob die angegebene Zeichenfolge null oder eine leere Zeichenfolge ist.
21public static string Join( string separator, string[] value )
Verkettet alle Elemente in einem Zeichenfolgenarray und verwendet dabei ein angegebenes Trennzeichen zum Trennen der einzelnen Elemente.
22public static string Join( string separator, string[] value, int startIndex, int count )
Verkettet die angegebenen Elemente ab einer angegebenen Position in einem Zeichenfolgenarray und verwendet dabei ein angegebenes Trennzeichen zum Trennen der einzelnen Elemente.
23public int LastIndexOf( char value )
Gibt den nullbasierten Index des letzten Vorkommens eines angegebenen Unicode-Zeichens im aktuellen Zeichenfolgenobjekt zurück.
24public int LastIndexOf( string value )
Gibt den nullbasierten Index des letzten Vorkommens einer angegebenen Zeichenfolge im aktuellen Zeichenfolgenobjekt zurück.
25public string 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.
26public string Remove( int startIndex, int count )
Entfernt eine angegebene Anzahl von Zeichen von einer angegebenen Position in der aktuellen Zeichenfolge und gibt die Zeichenfolge zurück.
27public string Replace( char oldChar, char newChar )
Ersetzt alle angegebenen Unicode-Zeichen im aktuellen Zeichenfolgenobjekt durch ein anderes angegebenes Unicode-Zeichen und gibt eine neue Zeichenfolge zurück.
28public string Replace( string oldValue, string newValue )
Ersetzt alle angegebenen Zeichenfolgen im aktuellen Zeichenfolgenobjekt durch eine andere angegebene Zeichenfolge und gibt eine neue Zeichenfolge zurück.
29public string[] Split( params char[] separator )
Gibt ein Zeichenfolgenarray zurück, das die Teilzeichenfolgen des aktuellen Zeichenfolgenobjekts enthält, getrennt durch Elemente eines angegebenen Unicode-Zeichenarrays.
30public string[] Split( char[] separator, int count )
Gibt ein Zeichenfolgenarray zurück, das die Teilzeichenfolgen des aktuellen Zeichenfolgenobjekts enthält, getrennt durch Elemente eines angegebenen Unicode-Zeichenarrays. Der int-Parameter gibt die maximale Anzahl der zurückzugebenden Teilzeichenfolgen an.
31public bool StartsWith( string value )
Bestimmt, ob der Anfang der Zeichenfolgeninstanz mit der angegebenen Zeichenfolge übereinstimmt.
32public char[] ToCharArray()
Gibt ein Unicode-Zeichenarray zurück, das alle Zeichen im aktuellen Zeichenfolgenobjekt enthält.
33public char[] ToCharArray( int startIndex, int length )
Gibt ein Unicode-Zeichenarray zurück, das alle Zeichen im aktuellen Zeichenfolgenobjekt enthält, beginnend bei einem angegebenen Index bis zu einer angegebenen Länge.
34public string ToLower()
Konvertiert die Zeichenfolge in Kleinbuchstaben und gibt sie zurück.
35public string ToUpper()
Konvertiert die Zeichenfolge in Großbuchstaben und gibt sie zurück.
36public string Trim()
Entfernt alle führenden und nachfolgenden Leerzeichen aus dem aktuellen String-Objekt.

Die obige Liste der Methoden ist nicht vollständig; besuchen Sie bitte die MSDN-Bibliothek, um die vollständige Liste der Methoden und Konstruktoren der String-Klasse anzuzeigen.

Beispiel

Das folgende Beispiel demonstriert einige der oben genannten Methoden:

Zeichenfolgen vergleichen

Beispiel

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.

Zeichenfolge enthält Zeichenfolge:

Beispiel

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str = "This is test";
         if (str.Contains("test"))
         {
            Console.WriteLine("Die Sequenz 'test' wurde gefunden.");
         }
         Console.ReadKey() ;
      }
   }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:

The sequence 'test' was found.

Teilzeichenfolge abrufen:

Beispiel

using System;
namespace StringApplication
{
        class StringProg
        {
                static void Main(string[] args)
                {
                        string str = "Letzte Nacht träumte ich von San Pedro";
                        Console.WriteLine(str);
                        string substr = str.Substring(23);
                        Console.WriteLine(substr);
                        Console.ReadKey() ;
                }
        }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:

Last night I dreamt of San Pedro
San Pedro

Verbindungszeichenfolge:

Beispiel

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string[] starray = new string[]{"Den Weg hinunter sind die Nächte dunkel",
         "Und die Sonne scheint täglich auf dem Berggipfel",
         "Ich machte eine Reise auf einem Segelschiff",
         "Und als ich Jamaika erreichte",
         "Ich machte Halt"};

         string str = String.Join("\n", starray);
         Console.WriteLine(str);
         Console.ReadKey() ;
      }
   }
}

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
Weitere Erweiterungen