C# Strings meistern: Grundlagen, Operationen & fortgeschrittene Techniken
C# Strings meistern: Grundlagen, Operationen & fortgeschrittene Techniken
In diesem Tutorial lernen wir über C# Strings und ihre Methoden anhand von Beispielen.
In C# ist ein String eine Folge von Zeichen. Zum Beispiel ist "hello" ein String, der die Zeichen 'h', 'e', 'l', 'l' und 'o' enthält.
Wir verwenden das string Schlüsselwort, um einen String zu erstellen. Zum Beispiel:
// String erstellen
string str = "C# Programming";
Hier haben wir einen string namens str erstellt und den Text "C# Programming" zugewiesen. Wir verwenden doppelte Anführungszeichen, um Strings in C# darzustellen.
Beispiel: String in C# erstellen
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
// Strings erstellen
string str1 = "C# Programming";
string str2 = "Programiz";
// Strings ausgeben
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadLine();
}
}
}
Ausgabe
C# Programming Programiz
Im obigen Beispiel haben wir zwei Strings namens str1 und str2 erstellt und ausgegeben.
Hinweis: Eine String-Variable in C# ist kein primitiver Typ wie int, char, etc. Stattdessen ist sie ein Objekt der String Klasse.
String-Operationen
C# Strings bieten verschiedene Methoden für unterschiedliche Operationen. Wir schauen uns einige häufig verwendete an.
1. String-Länge ermitteln
Für die Länge eines Strings nutzen wir die Length Eigenschaft. Beispiel:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
string str = "C# Programming";
Console.WriteLine("string: " + str);
int length = str.Length;
Console.WriteLine("Length: " + length);
Console.ReadLine();
}
}
}
Ausgabe
string: C# Programming Length: 14
Die Length Eigenschaft berechnet die Gesamtzahl der Zeichen im String.
2. Zwei Strings in C# verbinden
Wir können zwei Strings in C# mit der Concat() Methode verbinden. Beispiel:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
string str1 = "C# ";
Console.WriteLine("string str1: " + str1);
string str2 = "Programming";
Console.WriteLine("string str2: " + str2);
// zwei Strings verbinden
string joinedString = string.Concat(str1, str2);
Console.WriteLine("Joined string: " + joinedString);
Console.ReadLine();
}
}
}
Ausgabe
string str1: C# string str2: Programming Joined string: C# Programming
Die Concat() Methode verbindet str1 und str2 und weist das Ergebnis joinedString zu.
Wir können auch den + Operator zum Verbinden nutzen. Mehr unter C# string Concat.
3. Zwei Strings in C# vergleichen
In C# können wir Strings mit der Equals() Methode vergleichen. Sie prüft, ob zwei Strings gleich sind. Beispiel:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
string str1 = "C# Programming";
string str2 = "C# Programming";
string str3 = "Programiz";
// str1 und str2 vergleichen
Boolean result1 = str1.Equals(str2);
Console.WriteLine("string str1 and str2 are equal: " + result1);
// str1 und str3 vergleichen
Boolean result2 = str1.Equals(str3);
Console.WriteLine("string str1 and str3 are equal: " + result2);
Console.ReadLine();
}
}
}
Ausgabe
string str1 and str2 are equal: True string str1 and str3 are equal: False
Wir nutzen Equals(), um zu prüfen, ob ein String einem anderen entspricht.
Unveränderlichkeit von String-Objekten
In C# sind Strings unveränderlich (immutable). Einmal erstellt, kann ein String nicht geändert werden.
Zum Verständnis ein Beispiel:
// String erstellen
string str = "Hello ";
Die Variable hält den String "Hello ".
Angenommen, wir wollen den String str ändern:
// "World" zum vorherigen String hinzufügen
str = string.Concat(str, "World");
Wie können wir den String modifizieren, wenn er unveränderlich ist?
Sehen wir, was passiert:
- C# nimmt den Wert des Strings
"Hello ". - Erstellt einen neuen String, indem
"World"zu"Hello "addiert wird. - Erstellt ein neues String-Objekt mit Wert
"Hello World"und speichert es in str. - Der originale String
"Hello "wird für Garbage Collection freigegeben, da keine andere Variable ihn referenziert.
String Escape-Sequenzen
Das Escape-Zeichen dient dazu, bestimmte Zeichen innerhalb eines Strings zu maskieren. Wir nutzen Escape-Sequenzen, um Sonderzeichen in den String einzufügen.
Angenommen, wir müssen doppelte Anführungszeichen in einen String einschließen:
// doppeltes Anführungszeichen einschließen
string str = "This is the "String" class";
Da Strings durch doppelte Anführungszeichen dargestellt werden, behandelt der Compiler "This is the " als String – der Code verursacht einen Fehler.
Zur Lösung nutzen wir das Escape-Zeichen \" in C#:
// Escape-Zeichen verwenden
string str = "This is the \"String\" class.";
Durch \ vor dem doppelten Anführungszeichen können wir es im String einschließen.
Einige Escape-Sequenzen in C#:
| Escape-Sequenz | Zeichenname |
|---|---|
\' | einfaches Anführungszeichen |
\" | doppeltes Anführungszeichen |
\\ | Backslash |
\0 | null |
\n | neue Zeile |
\t | horizontaler Tab |
String-Interpolation
In C# können wir String-Interpolation nutzen, um Variablen in einen String einzufügen. Der String-Literal muss mit dem $ Zeichen beginnen. Beispiel:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
string name = "Programiz";
// String-Interpolation
string message = $"Welcome to {name}";
Console.WriteLine(message);
Console.ReadLine();
}
}
}
Ausgabe
Welcome to Programiz
Wir nutzen die name Variable innerhalb des message Strings.
string message = $"Welcome to {name}";
Beachten Sie:
- der String-Literal beginnt mit
$ - die name Variable steht in geschweiften Klammern
{}
Methoden der C# String Klasse
Es gibt diverse String-Methoden in C#. Einige davon:
| Methode | Beschreibung |
|---|---|
Format() | gibt einen formatierten String zurück |
Split() | teilt den String in Teilstrings |
Substring() | gibt Teilstring eines Strings zurück |
Compare() | vergleicht String-Objekte |
Replace() | ersetzt angegebenes altes Zeichen durch neues |
Contains() | prüft, ob String einen Teilstring enthält |
Join() | verbindet gegebene Strings mit Trennzeichen |
Trim() | entfernt führende/folgende Whitespaces |
EndsWith() | prüft, ob String mit gegebenem String endet |
IndexOf() | gibt Position des angegebenen Zeichens zurück |
Remove() | gibt Zeichen aus einem String zurück |
ToUpper() | wandelt String in Großbuchstaben um |
ToLower() | wandelt String in Kleinbuchstaben um |
PadLeft() | polstert String links mit Leerzeichen/Zeichen |
PadRight() | polstert String rechts mit Leerzeichen/Zeichen |
StartsWith() | prüft, ob String mit gegebenem String beginnt |
ToCharArray() | wandelt String in char-Array um |
LastIndexOf() | gibt Index des letzten Vorkommens zurück |
Häufige Fragen
1. Wie erstellt man ein String-Array in C#?
Ein String-Array wird wie ein Array für Datentypen erstellt. Beispiel:
using System;
namespace CsharpString {
class Test {
public static void Main(string[] args) {
string[] animals = {"Monkey", "Dog", "Cat"};
Console.WriteLine(animals[0]);
Console.WriteLine(animals[1]);
Console.WriteLine(animals[2]);
Console.ReadLine();
}
}
}
Ausgabe
Monkey Dog Cat
2. Unterschied zwischen string und String in C#
Es gibt keinen technischen Unterschied zwischen string und String. In C# ist string ein Alias für System.String.
Empfohlen ist string, da es auch ohne using System; funktioniert.
C Sprache
- Java Strings meistern: Erstellung, Methoden und Best Practices
- String-Repräsentationen in Java Enums meistern
- C++ String‑Funktionen meistern: strcpy, strcat, strlen, strcmp – Praxisbeispiele
- C Strings einfach gemacht: Deklaration, Ein- & Ausgabe, Bibliotheksfunktionen
- Java String.charAt(): Syntax, Rückgabetyp, Exceptions und praktisches Beispiel
- Java String.endsWith(): String-Suffixe prüfen mit Beispielen
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python format()-Strings meistern mit klaren Beispielen
- Python len(): Praktischer Leitfaden zur Messung von Objektlängen