Platform::String-Klasse
Stellt eine sequenzielle Auflistung von Unicode-Zeichen dar, die zum Darstellen von Text verwendet werden. Weitere Informationen und Beispiele finden Sie unter "Strings".
Syntax
public ref class String sealed : Object,
IDisposable,
IEquatable,
IPrintable
Iteratoren
Zwei Iteratorfunktionen, die keine Member der String-Klasse sind, können mit der std::for_each
Funktionsvorlage verwendet werden, um die Zeichen in einem String-Objekt aufzählen zu können.
Member | Beschreibung |
---|---|
const char16* begin(String^ s) |
Gibt einen Zeiger auf den Anfang des angegebenen Zeichenfolgenobjekts zurück. |
const char16* end(String^ s) |
Gibt einen Zeiger nach dem Ende des angegebenen Zeichenfolgenobjekts zurück. |
Member
Die Zeichenfolgenklasse erbt vom Objekt und den Schnittstellen IDisposable, IEquatable und IPrintable.
Die Zeichenfolgenklasse verfügt auch über die folgenden Typen von Membern.
Konstruktoren
Member | Beschreibung |
---|---|
String::String | Initialisiert eine neue Instanz der Zeichenfolgenklasse. |
Methoden
Die Zeichenfolgenklasse erbt die Methoden Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose() und ToString() von Platform::Object Class. Die Zeichenfolge hat auch die folgenden Methoden.
Methode | Beschreibung |
---|---|
String::Begin | Gibt einen Zeiger auf den Anfang der aktuellen Zeichenfolge zurück. |
String::CompareOrdinal | Vergleicht zwei String -Objekte durch Auswertung der numerischen Werte der entsprechenden Zeichen in den beiden Zeichenfolgenwerten, die durch die Objekte dargestellt werden. |
String::Concat | Verkettet die Werte von zwei Zeichenfolgenobjekten. |
String::D ata | Gibt einen Zeiger auf den Anfang der aktuellen Zeichenfolge zurück. |
String::D ispose | Gibt Ressourcen frei. |
String::End | Gibt einen Zeiger nach dem Ende der aktuellen Zeichenfolge zurück. |
String::Equals | Gibt an, ob das angegebene Objekt gleich dem aktuellen Objekt ist. |
String::GetHashCode | Gibt den Hashcode für diese -Instanz zurück. |
String::IsEmpty | Gibt an, ob das aktuelle String-Objekt leer ist. |
String::IsFastPass | Gibt an, ob das aktuelle String -Objekt an einem Schnelldurchlaufvorgang teilnimmt. Bei einem Fast-Pass-Vorgang wird die Verweiszählung angehalten. |
String::Length | Ruft die Länge des aktuellen Zeichenfolgenobjekts ab. |
String::ToString | Gibt ein neues Zeichenfolgenobjekt zurück, dessen Wert mit der aktuellen Zeichenfolge identisch ist. |
Operatoren
Die String-Klasse weist die folgenden Operatoren auf.
Member | Beschreibung |
---|---|
String::operator== Operator | Gibt an, ob zwei angegebene String-Objekte denselben Wert aufweisen. |
operator+-Operator | Verkettet zwei Zeichenfolgeobjekte in ein neues Zeichenfolgeobjekt. |
String::operator-Operator> | Gibt an, ob der Wert eines Zeichenfolgenobjekts größer als der Wert eines zweiten Zeichenfolgenobjekts ist. |
String::operator>= Operator | Gibt an, ob der Wert eines String-Objekts größer oder gleich dem Wert eines zweiten String-Objekts ist. |
String::operator!= Operator | Gibt an, ob zwei angegebene String-Objekte unterschiedliche Werte aufweisen. |
String::operator-Operator< | Gibt an, ob der Wert eines Zeichenfolgenobjekts kleiner als der Wert eines zweiten Zeichenfolgenobjekts ist. |
Anforderungen
Mindestens unterstützter Client: Windows 8
Mindestens unterstützter Server: Windows Server 2012
Namespace: Platform
Header vccorlib.h (standardmäßig eingeschlossen)
String::Begin-Methode
Gibt einen Zeiger auf den Anfang der aktuellen Zeichenfolge zurück.
Syntax
char16* Begin();
Rückgabewert
Ein Zeiger auf den Anfang der aktuellen Zeichenfolge.
String::CompareOrdinal-Methode
Statische Methode, die zwei String
Objekte vergleicht, indem die numerischen Werte der entsprechenden Zeichen in den beiden durch die Objekte dargestellten Zeichenfolgenwerten ausgewertet werden.
Syntax
static int CompareOrdinal( String^ str1, String^ str2 );
Parameter
str1
Das erste String-Objekt.
str2
Das zweite String-Objekt.
Rückgabewert
Eine ganze Zahl, die die lexikalische Beziehung zwischen den beiden Vergleichswerten angibt. In der folgenden Tabelle sind die möglichen Rückgabewerte aufgelistet:
Wert | Bedingung |
---|---|
-1 | str1 ist kleiner als str2 . |
0 | str1 ist gleich str2 . |
1 | str1 ist größer als str2 . |
String::Concat-Methode
Verkettet die Werte von zwei Zeichenfolgenobjekten.
Syntax
String^ Concat( String^ str1, String^ str2);
Parameter
str1
Das erste Zeichenfolgenobjekt oder null
.
str2
Das zweite Zeichenfolgenobjekt oder null
.
Rückgabewert
Ein neues Zeichenfolgen^-Objekt, dessen Wert die Verkettung der Werte von str1
und str2
ist.
Wenn str1
null
und str2
ungleich null ist, wird str1
zurückgegeben. Wenn str2
null
und str1
ungleich null ist, wird str2
zurückgegeben. Wenn str1
und str2
beide null
sind, wird die leere Zeichenfolge (L "") zurückgegeben.
String::Data-Methode
Gibt einen Zeiger zum Anfang des Datenpuffers des Objekts als ein Array im C-Format mit char16
-Elementen (wchar_t
) zurück.
Syntax
const char16* Data();
Rückgabewert
Ein Zeiger auf den Anfang eines const char16
Unicode-Zeichenarrays (char16
ist ein Typedef für wchar_t
).
Hinweise
Verwenden Sie diese Methode zum Konvertieren von Platform::String^
zu wchar_t*
. Wenn das String
-Objekt den Gültigkeitsbereich verlässt, ist die Gültigkeit des Datenzeigers nicht mehr sichergestellt. Um die Daten über die Lebensdauer des ursprünglichen String
Objekts hinaus zu speichern, verwenden Sie wcscpy_s , um das Array in den Arbeitsspeicher zu kopieren, den Sie selbst zugewiesen haben.
String::Dispose-Methode
Gibt Ressourcen frei.
Syntax
virtual override void Dispose();
String::End-Methode
Gibt einen Zeiger nach dem Ende der aktuellen Zeichenfolge zurück.
Syntax
char16* End();
Rückgabewert
Ein Zeiger zur Übergabe des Endes der aktuellen Zeichenfolge.
Hinweise
End() gibt Begin() + Length zurück.
String::Equals-Methode
Gibt an, ob die angegebene Zeichenfolge über den gleichen Wert wie das aktuelle Objekt verfügt.
Syntax
bool String::Equals(Object^ str);
bool String::Equals(String^ str);
Parameter
str
Das zu vergleichende Objekt.
Rückgabewert
true
, wenn str
gleich dem aktuellen Objekt ist, andernfalls false
.
Hinweise
Diese Methode entspricht der statischen Zeichenfolge::CompareOrdinal. In der ersten Überladung wird erwartet, dass der Parameter str
zu einem String^-Objekt umgewandelt werden kann.
String::GetHashCode-Methode
Gibt den Hashcode für diese -Instanz zurück.
Syntax
virtual override int GetHashCode();
Rückgabewert
Der Hashcode für diese -Instanz.
String::IsEmpty-Methode
Gibt an, ob das aktuelle String-Objekt leer ist.
Syntax
bool IsEmpty();
Rückgabewert
true
wenn das aktuelle String
Objekt null oder die leere Zeichenfolge (L") ist; andernfalls false
.
String::IsFastPass-Methode
Gibt an, ob das aktuelle String -Objekt an einem Schnelldurchlaufvorgang teilnimmt. Bei einem Fast-Pass-Vorgang wird die Verweiszählung angehalten.
Syntax
bool IsFastPass();
Rückgabewert
true
wenn das aktuelle String
Objekt schnell vorbei ist, andernfalls false
.
Hinweise
Beim Aufruf einer Funktion, bei der ein Objekt mit Verweiszählung ein Parameter ist und die aufgerufene Funktion nur dieses Objekt liest, kann der Compiler die Verweiszählung sicher anhalten und die Aufrufleistung verbessern. Es gibt nichts nützliches, das Ihr Code mit dieser Eigenschaft ausführen kann. Das System behandelt alle Details.
String::Length-Methode
Ruft die Anzahl der Zeichen im aktuellen String
Objekt ab.
Syntax
unsigned int Length();
Rückgabewert
Die Anzahl der Zeichen im aktuellen String
Objekt.
Hinweise
Die Länge einer Zeichenfolge ohne Zeichen ist null. Die Länge der folgenden Zeichenfolge ist 5:
String^ str = "Hello";
int len = str->Length(); //len = 5
Das zeichenarray, das von string ::D ata zurückgegeben wird, weist ein zusätzliches Zeichen auf, bei dem es sich um das beendende NULL- oder '\0'-Zeichen handelt. Dieses Zeichen ist ebenfalls zwei Bytes lang.
String::operator+-Operator
Verkettet zwei String-Objekte in ein neues String-Objekt .
Syntax
bool String::operator+( String^ str1, String^ str2);
Parameter
str1
Das erste String
-Objekt.
str2
Das zweite String
-Objekt, dessen Inhalt str1
angefügt wird.
Rückgabewert
true
wenn str1 gleich str2 ist; andernfalls . false
Hinweise
Dieser Operator erstellt ein String^
-Objekt mit den Daten aus den zwei Operanden. Verwenden Sie es zur Vereinfachung, wenn nicht unbedingt extreme Leistung gefordert ist. Einige Aufrufe von "+
" in einer Funktion werden sich wahrscheinlich nicht bemerkbar machen. Wenn Sie jedoch große Objekte oder Textdaten in einer kurzen Schleife bearbeiten, sollten Sie die standardmäßigen C++-Mechanismen und -typen verwenden.
String::operator== Operator
Gibt an, ob zwei angegebene Zeichenfolgenobjekte denselben Textwert haben.
Syntax
bool String::operator==( String^ str1, String^ str2);
Parameter
str1
Das erste zu vergleichende String
-Objekt.
str2
Das zweite zu vergleichende String
-Objekt.
Rückgabewert
true
wenn der Inhalt str1
gleich str2
ist ; andernfalls . false
Hinweise
Dieser Operator entspricht " String::CompareOrdinal".
String::operator>
Gibt an, ob der Wert eines String
Objekts größer als der Wert eines zweiten String
Objekts ist.
Syntax
bool String::operator>( String^ str1, String^ str2);
Parameter
str1
Das erste String
-Objekt.
str2
Das zweite String
-Objekt.
Rückgabewert
true
, wenn der Wert von str1
größer als der Wert von str2
ist, andernfalls false
.
Hinweise
Dieser Operator entspricht dem expliziten Aufrufen von String::CompareOrdinal und dem Abrufen eines Ergebnisses größer als Null.
String::operator>=
Gibt an, ob der Wert eines String
Objekts größer oder gleich dem Wert eines zweiten String
Objekts ist.
Syntax
bool String::operator>=( String^ str1, String^ str2);
Parameter
str1
Das erste String
-Objekt.
str2
Das zweite String
-Objekt.
Rückgabewert
true
, wenn der Wert von str1
größer oder gleich dem Wert von str2
ist, andernfalls false
.
String::operator!=
Gibt an, ob zwei angegebene String
Objekte unterschiedliche Werte aufweisen.
Syntax
bool String::operator!=( String^ str1, String^ str2);
Parameter
str1
Das erste zu vergleichende String
-Objekt.
str2
Das zweite zu vergleichende String
-Objekt.
Rückgabewert
true
, wenn str1
und str2
ungleich sind, andernfalls false
.
String::operator<
Gibt an, ob der Wert eines String
Objekts kleiner als der Wert eines zweiten String
Objekts ist.
Syntax
bool String::operator<( String^ str1, String^ str2);
Parameter
str1
Das erste String
-Objekt.
str2
Das zweite String
-Objekt.
Rückgabewert
true
wenn der Wert von str1 kleiner als der Wert von str2 ist; andernfalls . false
String::String-Konstruktor
Initialisiert eine neue Instanz der String
Klasse mit einer Kopie der Eingabezeichenfolgendaten.
Syntax
String();
String(char16* s);
String(char16* s, unsigned int n);
Parameter
s
Eine Reihe von Breitzeichen, die die Zeichenfolge initialisieren. char16
n
Eine Zahl, die die Länge der Zeichenfolge angibt.
Hinweise
Wenn die Leistung wichtig ist und Sie die Lebensdauer der Quellzeichenfolge steuern, können Sie "Platform::StringReference" anstelle von "String" verwenden.
Beispiel
String^ s = L"Hello!";
String::ToString
Gibt ein String
Objekt zurück, dessen Wert mit der aktuellen Zeichenfolge identisch ist.
Syntax
String^ String::ToString();
Rückgabewert
Ein String
Objekt, dessen Wert mit der aktuellen Zeichenfolge identisch ist.