Platform::String – třída
Představuje sekvenční kolekci znaků Unicode, které slouží k reprezentaci textu. Další informace a příklady naleznete v tématu Řetězce.
Syntaxe
public ref class String sealed : Object,
IDisposable,
IEquatable,
IPrintable
Iterátory
Dvě iterátorové funkce, které nejsou členy třídy String, lze použít se std::for_each
šablonou funkce k vytvoření výčtu znaků v objektu String.
Člen | Popis |
---|---|
const char16* begin(String^ s) |
Vrátí ukazatel na začátek zadaného objektu String. |
const char16* end(String^ s) |
Vrátí ukazatel za konec zadaného objektu String. |
Členové
String třída dědí z Object a IDisposable, IEquatable a IPrintable rozhraní.
Třída String má také následující typy členů.
Konstruktory
Člen | Popis |
---|---|
String::String | Inicializuje novou instanci Třídy String. |
Metody
Třída String zdědí metody Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose() a ToString() z třídy Platform::Object. Řetězec má také následující metody.
metoda | Popis |
---|---|
String::Begin | Vrátí ukazatel na začátek aktuálního řetězce. |
String::CompareOrdinal | Porovná dva String objekty vyhodnocením číselných hodnot odpovídajících znaků ve dvou řetězcových hodnotách představovaných objekty. |
String::Concat | Zřetězí hodnoty dvou objektů String. |
String::D ata | Vrátí ukazatel na začátek aktuálního řetězce. |
String::D ispose | Uvolní nebo uvolní prostředky. |
String::End | Vrátí ukazatel za konec aktuálního řetězce. |
String::Equals | Určuje, zda je zadaný objekt roven aktuálnímu objektu. |
String::GetHashCode | Vrátí hodnotu hash pro tuto instanci. |
String::IsEmpty | Určuje, zda je aktuální objekt String prázdný. |
String::IsFastPass | Určuje, jestli se aktuální objekt String účastní operace rychlého průchodu. V operaci rychlého průchodu je počítání odkazů pozastaveno. |
String::Length | Načte délku aktuálního objektu String. |
String::ToString | Vrátí objekt String, jehož hodnota je stejná jako aktuální řetězec. |
Operátory
Třída String má následující operátory.
Člen | Popis |
---|---|
String::operator== – operátor | Určuje, zda dva zadané objekty String mají stejnou hodnotu. |
operator+ – operátor | Zřetězí dva objekty String do nového objektu String. |
String::operator – operátor> | Určuje, zda hodnota jednoho objektu String je větší než hodnota druhého string objektu. |
String::operator>= – operátor | Určuje, zda je hodnota jednoho objektu String větší nebo rovna hodnotě druhého objektu String. |
String::operator!= – operátor | Určuje, zda dva zadané objekty String mají různé hodnoty. |
String::operator – operátor< | Určuje, zda hodnota jednoho objektu String je menší než hodnota druhého string objektu. |
Požadavky
Minimální podporovaný klient: Windows 8
Minimální podporovaný server: Windows Server 2012
Obor názvů: Platforma
Header vccorlib.h (zahrnutý ve výchozím nastavení)
String::Begin – metoda
Vrátí ukazatel na začátek aktuálního řetězce.
Syntaxe
char16* Begin();
Návratová hodnota
Ukazatel na začátek aktuálního řetězce.
String::CompareOrdinal – metoda
Statická metoda, která porovnává dva String
objekty vyhodnocením číselných hodnot odpovídajících znaků ve dvou řetězcových hodnotách představovaných objekty.
Syntaxe
static int CompareOrdinal( String^ str1, String^ str2 );
Parametry
str1
První objekt String.
str2
Druhý objekt String.
Návratová hodnota
Celé číslo, které označuje lexikální vztah mezi těmito dvěma srovnávacími čísly. Následující tabulka uvádí možné návratové hodnoty.
Hodnota | Podmínka |
---|---|
-1 | str1 je menší než str2 . |
0 | str1 je rovno str2 . |
0 | str1 je větší než str2 . |
String::Concat – metoda
Zřetězí hodnoty dvou objektů String.
Syntaxe
String^ Concat( String^ str1, String^ str2);
Parametry
str1
První objekt String nebo null
.
str2
Druhý objekt String nebo null
.
Návratová hodnota
Nový string^ objekt, jehož hodnota je zřetězení hodnot a str1
str2
.
Pokud str1
je null
a str2
není, str1
vrátí se. Pokud str2
je null
a str1
není, str2
vrátí se. Pokud str1
a jsou obanull
str2
, vrátí se prázdný řetězec (L").
String::D ata – metoda
Vrátí ukazatel na začátek vyrovnávací paměti dat objektu jako pole char16
stylu C (wchar_t
) prvků.
Syntaxe
const char16* Data();
Návratová hodnota
Ukazatel na začátek const char16
pole znaků Unicode (char16
je typedef pro wchar_t
).
Poznámky
Pomocí této metody lze převést z Platform::String^
na wchar_t*
. String
Když objekt přestane být oborem, už není zaručeno, že datový ukazatel bude platný. Pokud chcete data uložit po dobu životnosti původního String
objektu, použijte wcscpy_s ke zkopírování pole do paměti, kterou jste přidělili sami.
String::D ispose – metoda
Uvolní nebo uvolní prostředky.
Syntaxe
virtual override void Dispose();
String::End – metoda
Vrátí ukazatel za konec aktuálního řetězce.
Syntaxe
char16* End();
Návratová hodnota
Ukazatel na konec aktuálního řetězce
Poznámky
Funkce End() vrátí hodnotu Begin() + Length.
String::Equals – metoda
Určuje, zda zadaný řetězec má stejnou hodnotu jako aktuální objekt.
Syntaxe
bool String::Equals(Object^ str);
bool String::Equals(String^ str);
Parametry
Str
Objekt k porovnání
Návratová hodnota
true
je-li str
rovna aktuálnímu objektu; false
v opačném případě .
Poznámky
Tato metoda je ekvivalentní statickému String::CompareOrdinal. V prvním přetížení je očekáváno str
, že parametr lze přetypovat na String^ objektu.
String::GetHashCode – metoda
Vrátí hodnotu hash pro tuto instanci.
Syntaxe
virtual override int GetHashCode();
Návratová hodnota
Kód hash této instance
String::IsEmpty – metoda
Určuje, zda je aktuální objekt String prázdný.
Syntaxe
bool IsEmpty();
Návratová hodnota
true
pokud je aktuální String
objekt null nebo prázdný řetězec (L"); jinak , false
.
String::IsFastPass – metoda
Určuje, jestli se aktuální objekt String účastní operace rychlého průchodu. V operaci rychlého průchodu je počítání odkazů pozastaveno.
Syntaxe
bool IsFastPass();
Návratová hodnota
true
pokud je aktuální String
objekt rychlý a v opačném případě false
.
Poznámky
Při volání funkce, ve které je objekt počítaný odkazem parametr a volaná funkce tento objekt jen čte, kompilátor může bezpečně pozastavit počítání odkazů a zlepšit výkon volání. Pro tuto vlastnost není nic užitečného. Systém zpracovává všechny podrobnosti.
String::Length – metoda
Načte počet znaků v aktuálním String
objektu.
Syntaxe
unsigned int Length();
Návratová hodnota
Počet znaků v aktuálním String
objektu.
Poznámky
Délka řetězce bez znaků je nula. Délka následujícího řetězce je 5:
String^ str = "Hello";
int len = str->Length(); //len = 5
Pole znaků vrácené řetězcem::D ata má jeden další znak, což je ukončující hodnota NULL nebo \0. Tento znak je také dva bajty dlouhé.
String::operator+ – operátor
Zřetězí dva objekty String do nového objektu String .
Syntaxe
bool String::operator+( String^ str1, String^ str2);
Parametry
str1
První String
objekt.
str2
Druhý String
objekt, jehož obsah bude připojen k str1
.
Návratová hodnota
true
je-li str1 roven str2; jinak , false
.
Poznámky
Tento operátor vytvoří String^
objekt, který obsahuje data ze dvou operandů. Používejte ho pro pohodlí, když extrémní výkon není kritický. Několik volání+
"" ve funkci pravděpodobně nebude patrné, ale pokud pracujete s velkými objekty nebo textovými daty v těsné smyčce, použijte standardní mechanismy a typy jazyka C++.
String::operator== – operátor
Určuje, zda dva zadané objekty String mají stejnou textovou hodnotu.
Syntaxe
bool String::operator==( String^ str1, String^ str2);
Parametry
str1
První String
objekt, který se má porovnat.
str2
Druhý String
objekt, který chcete porovnat.
Návratová hodnota
true
je-li obsah str1
roven str2
; v opačném případě false
.
Poznámky
Tento operátor je ekvivalentní řetězci ::CompareOrdinal.
String::operator>
Určuje, zda je hodnota jednoho String
objektu větší než hodnota druhého String
objektu.
Syntaxe
bool String::operator>( String^ str1, String^ str2);
Parametry
str1
První String
objekt.
str2
Druhý String
objekt.
Návratová hodnota
true
je-li hodnota větší než hodnota str1
str2
; v opačném případě . false
Poznámky
Tento operátor je ekvivalentní explicitnímu volání String::CompareOrdinal a získání výsledku většího než nula.
String::operator>=
Určuje, zda je hodnota jednoho String
objektu větší nebo rovna hodnotě druhého String
objektu.
Syntaxe
bool String::operator>=( String^ str1, String^ str2);
Parametry
str1
První String
objekt.
str2
Druhý String
objekt.
Návratová hodnota
true
je-li hodnota str1
větší nebo rovna hodnotě str2
; v opačném případě , false
.
String::operator!=
Určuje, zda dva zadané String
objekty mají různé hodnoty.
Syntaxe
bool String::operator!=( String^ str1, String^ str2);
Parametry
str1
První String
objekt, který se má porovnat.
str2
Druhý String
objekt, který chcete porovnat.
Návratová hodnota
true
pokud str1
není rovno str2
; jinak , false
.
String::operator<
Určuje, zda je hodnota jednoho String
objektu menší než hodnota druhého String
objektu.
Syntaxe
bool String::operator<( String^ str1, String^ str2);
Parametry
str1
První String
objekt.
str2
Druhý String
objekt.
Návratová hodnota
true
je-li hodnota str1 menší než hodnota str2; v opačném případě . false
String::String – konstruktor
Inicializuje novou instanci String
třídy s kopií vstupních řetězcových dat.
Syntaxe
String();
String(char16* s);
String(char16* s, unsigned int n);
Parametry
s
Řada širokých znaků, které inicializují řetězec. char16
n
Číslo, které určuje délku řetězce.
Poznámky
Pokud je výkon kritický a řídíte životnost zdrojového řetězce, můžete místo řetězce použít Platform::StringReference .
Příklad
String^ s = L"Hello!";
String::ToString
String
Vrátí objekt, jehož hodnota je stejná jako aktuální řetězec.
Syntaxe
String^ String::ToString();
Návratová hodnota
Objekt String
, jehož hodnota je stejná jako aktuální řetězec.