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
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 Nummer | Eigenschaftsname & Beschreibung |
|---|---|
| 1 | Chars im aktuellenStringVom Objekt abrufenCharan der angegebenen Position des Objekts. |
| 2 | Lä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 Nummer | Methodenname & 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. Bei dieser Methode wird zwischen Groß- und Kleinschreibung unterschieden. |
| 2 | public 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. |
| 3 | public static string Concat(
string str0,
string str1
)
Verkettet zwei String-Objekte. |
| 4 | public static string Concat(
string str0,
string str1,
string str2
)
Verkettet drei String-Objekte. |
| 5 | public static string Concat(
string str0,
string str1,
string str2,
string str3
)
Verkettet vier String-Objekte. |
| 6 | public bool Contains(
string value
)
Gibt einen Wert zurück, der angibt, ob ein angegebener String innerhalb des Strings vorkommt. |
| 7 | public static string Copy(
string str
)
Erstellt ein neues String-Objekt mit demselben Wert wie die angegebene Zeichenfolge. |
| 8 | public 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. |
| 9 | public bool EndsWith(
string value
)
Bestimmt, ob das Ende des String-Objekts mit der angegebenen Zeichenfolge übereinstimmt. |
| 10 | public bool Equals(
string value
)
Bestimmt, ob das aktuelle String-Objekt denselben Wert wie das angegebene String-Objekt hat. |
| 11 | public static bool Equals(
string a,
string b
)
Bestimmt, ob zwei angegebene String-Objekte denselben Wert haben. |
| 12 | public static string Format(
string format,
Object arg0
)
Ersetzt mindestens ein Formatelement in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts. |
| 13 | public int IndexOf(
char value
)
Gibt den nullbasierten Index des ersten Vorkommens eines angegebenen Unicode-Zeichens in der aktuellen Zeichenfolge zurück. |
| 14 | public int IndexOf(
string value
)
Gibt den Index des ersten Vorkommens der angegebenen Zeichenfolge in dieser Instanz zurück, wobei der Index bei 0 beginnt. |
| 15 | public 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. |
| 16 | public 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. |
| 17 | public 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. |
| 18 | public 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. |
| 19 | public 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. |
| 20 | public static bool IsNullOrEmpty(
string value
)
Gibt an, ob die angegebene Zeichenfolge null oder eine leere Zeichenfolge ist. |
| 21 | public static string Join(
string separator,
string[] value
)
Verkettet alle Elemente in einem Zeichenfolgenarray und verwendet dabei ein angegebenes Trennzeichen zum Trennen der einzelnen Elemente. |
| 22 | public 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. |
| 23 | public int LastIndexOf(
char value
)
Gibt den nullbasierten Index des letzten Vorkommens eines angegebenen Unicode-Zeichens im aktuellen Zeichenfolgenobjekt zurück. |
| 24 | public int LastIndexOf(
string value
)
Gibt den nullbasierten Index des letzten Vorkommens einer angegebenen Zeichenfolge im aktuellen Zeichenfolgenobjekt zurück. |
| 25 | public 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. |
| 26 | public 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. |
| 27 | public 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. |
| 28 | public 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. |
| 29 | public 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. |
| 30 | public 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. |
| 31 | public bool StartsWith(
string value
)
Bestimmt, ob der Anfang der Zeichenfolgeninstanz mit der angegebenen Zeichenfolge übereinstimmt. |
| 32 | public char[] ToCharArray() Gibt ein Unicode-Zeichenarray zurück, das alle Zeichen im aktuellen Zeichenfolgenobjekt enthält. |
| 33 | public 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. |
| 34 | public string ToLower() Konvertiert die Zeichenfolge in Kleinbuchstaben und gibt sie zurück. |
| 35 | public string ToUpper() Konvertiert die Zeichenfolge in Großbuchstaben und gibt sie zurück. |
| 36 | public 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
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
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
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
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 stopWeitere Erweiterungen