String Flashcards

1
Q

Grundlagen Strings

A

Strings repräsentieren eine sequentielle Auflistung von Char-
Objekten, wobei ein Char-Objekt einem UTF-16-Zeichen entspricht.
› string-Variablen werden intern auf die Klasse String abgebildet.
› Die maximale Größe eines Strings beträgt ungefähr 2 GB (oder
etwa 1 Milliarde Zeichen).
› Strings sind nicht veränderbar (immutable).
› Wenn ein String verändert wird, so wird in Wahrheit ein neuer
String erzeugt, der ursprüngliche String bleibt unverändert im
Speicher.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Eigenschaften von Strings

A

Die Klasse String bietet nur zwei Eigenschaften an:
Die Eigenschaft Length gibt die Anzahl der Zeichen zurück.
Die Eigenschaft Chars ermöglicht es auf einzelne Zeichen der
Zeichenfolge zuzugreifen.
Die Eigenschaft Chars ist als Indexer implementiert, man kann auf
die einzelnen Zeichen zugreifen wie bei einem Array:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Suchen in Strings

A

Zum Suchen innerhalb einer Zeichenkette bietet die Klasse String einige
hilfreiche Methoden an:
StartsWith, EndsWith, IndexOf, LastIndexOf, SubString

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Strings manipulieren

A

Darüber hinaus gibt es noch einige Methoden zum Einfügen, Entfernen und
Ersetzen von Teilen einer Zeichenkette:
Insert, Remove, Replace, Split

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Strings konvertieren

A

Häufig ist es notwendig, Strings in Char-Arrays zu konvertieren oder umgekehrt.
› Aus einem Char-Array kann ein String über den Konstruktor erstellt werden
(siehe „Erzeugung von Strings“).
› Für den anderen Weg gibt es die Methode ToCharArray, die entweder den
ganzen String oder aber einen Teilstring in einen Char-Array umwandelt:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mögliche Formatangaben

A

C
Zeigt die Zahl im lokalen Währungsformat an.
› D
Zeigt die Zahl als dezimalen Integer an.
› E
Zeigt die Zahl im wissenschaftlichen Format an.
› F
Zeigt die Zahl im Festpunktformat an.
› G
Eine Zahl wird entweder im Festpunkt- oder im wissenschaftlichen

Format angezeigt. Zur Anzeige kommt das „kompakteste“ Format.
› N
Zeigt eine numerische Zahl einschließlich Kommaseparatoren an.
› P
Zeigt die numerische Zahl als Prozentzahl an.
› X
Die Anzeige erfolgt in Hexadezimalnotation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

String Interpolation

A

Strings mit den bekannten Formatausdrücken können leicht unübersichtlich
werden.
In den geschweiften Klammern kann jeder beliebige C#-Ausdruck stehen, der
durch seine ToString()-Methode umgewandelt wird.
› Es können die gleichen Formatierungen wie bei Formatausdrücken verwendet
werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Verbatim Strings

A

In Strings können bestimmte Sonderzeichen wie ein Tabulator ( \t ) oder ein
Zeilenumbruch ( \n ) eingebaut werden.
› Sonderzeichen werden mit dem Backslash ( \ ) eingeleitet, was lästig ist wenn
man diesen als Zeichen braucht ( \ ).
› Abhilfe schaffen hier Verbatim-Strings, bei denen der Compiler keinerlei Escape-
Sequenzen auswertet:
string myString = @”Dies ist ein ““Verbatim-String””
der über mehrere Zeilen geht
C:\Temp\test.txt”;
Verbatim-Strings können mit Interpolation kombiniert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

StringBuilder

A

Strings sind unveränderlich (immutable), d.h. immer wenn ein String manipuliert
wird, wird in Wahrheit ein neuer String erzeugt.
›Das belastet das System, denn zum einen kostet die Erzeugung von Objekten
Zeit, zum anderen müssen die nicht mehr benötigten String-Objekte von der
GarbageCollection entfernt werden.
› Wenn außerordentlich viele String-Manipulationen notwendig sind, sollte man
daher die Klasse StringBuilder verwenden.
› StringBuilder-Objekte sind dynamisch, d.h. sie können verändert werden, ohne
dass dafür jedes mal ein neues Objekt erzeugt werden muss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Eigenschaften von StringBuilder

A

Capacity, Length, MaxCapacity, Chars

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Methoden von StringBuilder

A

Append, AppendFormat, AppendLine, Insert, Remove, Replace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly