Classe Platform::String
Rappresenta una raccolta sequenziale di caratteri Unicode, tipicamente utilizzata per rappresentare del testo. Per altre informazioni ed esempi, vedere Stringhe.
Sintassi
public ref class String sealed : Object,
IDisposable,
IEquatable,
IPrintable
Iteratori
Due funzioni iteratore, che non sono membri della classe String, possono essere usate con il std::for_each
modello di funzione per enumerare i caratteri in un oggetto String.
Membro | Descrizione |
---|---|
const char16* begin(String^ s) |
Restituisce un puntatore che punta all'inizio dell'oggetto String specificato. |
const char16* end(String^ s) |
Restituisce un puntatore successivo alla fine dell'oggetto String specificato. |
Membri
La classe String eredita da Object e dalle interfacce IDisposable, IEquatable e IPrintable.
La classe String include inoltre i seguenti tipi di membri.
Costruttori
Membro | Descrizione |
---|---|
String::String | Inizializza una nuova istanza della classe String. |
Metodi
La classe String eredita i metodi Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose() e ToString() da Platform::Object Class. La classe String utilizza anche i metodi seguenti.
metodo | Descrizione |
---|---|
String::Begin | Restituisce un puntatore che punta all'inizio della stringa corrente. |
String::CompareOrdinal | Confronta due oggetti String valutando i valori numerici dei caratteri corrispondenti nei due valori stringa rappresentati dagli oggetti. |
String::Concat | Concatena i valori di due oggetti String specificati. |
String::D ata | Restituisce un puntatore che punta all'inizio della stringa corrente. |
String::D ispose | Libera o rilascia delle risorse. |
String::End | Restituisce un puntatore successivo alla fine della stringa corrente. |
String::Equals | Indica se l'oggetto specificato è uguale all'oggetto corrente. |
String::GetHashCode | Restituisce il codice hash per questa istanza di . |
String::IsEmpty | Indica se l'oggetto String corrente è vuoto. |
String::IsFastPass | Indica se l'oggetto String corrente partecipa a un'operazione di passaggio rapido. In questo tipo di operazione il conteggio dei riferimenti viene sospeso. |
String::Length | Recupera la lunghezza dell'oggetto String corrente. |
String::ToString | Restituisce un oggetto String il cui valore è uguale a quello dell'oggetto String corrente. |
Operatori
La classe String include gli operatori seguenti.
Membro | Descrizione |
---|---|
Operatore String::operator== | Indica se due oggetti String specificati hanno lo stesso valore. |
operatore+ Operatore | Concatena due oggetti stringa in un nuovo oggetto stringa. |
Operatore String::operator> | Indica se il valore di un oggetto String è maggiore del valore di un secondo oggetto String. |
Operatore String::operator>= | Indica se il valore di un oggetto String è maggiore o uguale al valore di un secondo oggetto String. |
Operatore String::operator!= | Indica se due oggetti String specificati hanno valori diversi. |
Operatore String::operator< | Indica se il valore di un oggetto String è minore del valore di un secondo oggetto String. |
Requisiti
Client minimo supportato: Windows 8
Server minimo supportato: Windows Server 2012
Spazio dei nomi: Platform
Intestazione vccorlib.h (inclusa per impostazione predefinita)
Metodo String::Begin
Restituisce un puntatore che punta all'inizio della stringa corrente.
Sintassi
char16* Begin();
Valore restituito
Puntatore all'inizio della stringa corrente.
Metodo String::CompareOrdinal
Metodo statico che confronta due String
oggetti valutando i valori numerici dei caratteri corrispondenti nei due valori stringa rappresentati dagli oggetti .
Sintassi
static int CompareOrdinal( String^ str1, String^ str2 );
Parametri
str1
Primo oggetto String.
str2
Secondo oggetto String.
Valore restituito
Intero che indica la relazione lessicale tra i due termini di confronto. Nella tabella seguente sono elencati i valori restituiti possibili.
Valore | Condizione |
---|---|
-1 | str1 è minore di str2 . |
0 | str1 è uguale str2 . |
1 | str1 è maggiore di str2 . |
Metodo String::Concat
Concatena i valori di due oggetti String specificati.
Sintassi
String^ Concat( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String o null
.
str2
Secondo oggetto String o null
.
Valore restituito
Nuovo oggetto String^ il cui valore è dato dalla concatenazione dei valori di str1
e str2
.
Se str1
è null
e str2
è diverso da Null, viene restituito str1
. Se str2
è null
e str1
è diverso da Null, viene restituito str2
. Se str1
e str2
sono entrambi null
, viene restituita la stringa vuota (L"").
Metodo String::Data
Restituisce un puntatore all'inizio del buffer di dati dell'oggetto come matrice di tipo C di elementi char16
(wchar_t
).
Sintassi
const char16* Data();
Valore restituito
Puntatore all'inizio di una const char16
matrice di caratteri Unicode (char16
è un typedef per wchar_t
).
Osservazioni:
Puoi usare questo metodo per la conversione da Platform::String^
a wchar_t*
. Quando l'oggetto String
esce dall'ambito, non viene più garantito che il puntatore a dati sia valido. Per archiviare i dati oltre la durata dell'oggetto originale String
, usare wcscpy_s per copiare la matrice in memoria allocata manualmente.
Metodo String::Dispose
Libera o rilascia delle risorse.
Sintassi
virtual override void Dispose();
Metodo String::End
Restituisce un puntatore successivo alla fine della stringa corrente.
Sintassi
char16* End();
Valore restituito
Puntatore successivo alla fine della stringa corrente.
Osservazioni:
End() restituisce Begin() + Length.
Metodo String::Equals
Indica se la stringa specificata ha lo stesso valore dell'oggetto corrente.
Sintassi
bool String::Equals(Object^ str);
bool String::Equals(String^ str);
Parametri
str
Oggetto da confrontare.
Valore restituito
true
se str
è uguale all'oggetto corrente; in caso contrario, false
.
Osservazioni:
Questo metodo equivale a String::CompareOrdinal statico. Nel primo overload, si prevede che il parametro str
possa essere sottoposto a cast a un oggetto String^.
Metodo String::GetHashCode
Restituisce il codice hash per questa istanza di .
Sintassi
virtual override int GetHashCode();
Valore restituito
Codice hash per l'istanza .
Metodo String::IsEmpty
Indica se l'oggetto String corrente è vuoto.
Sintassi
bool IsEmpty();
Valore restituito
true
se l'oggetto corrente String
è Null o la stringa vuota (L"); in caso contrario, false
.
Metodo String::IsFastPass
Indica se l'oggetto String corrente partecipa a un'operazione di passaggio rapido. In questo tipo di operazione il conteggio dei riferimenti viene sospeso.
Sintassi
bool IsFastPass();
Valore restituito
true
se l'oggetto corrente String
è passato rapidamente; in caso contrario, false
.
Osservazioni:
In una chiamata a una funzione in cui un oggetto con conteggio dei riferimenti è un parametro e la funzione chiamata legge semplicemente l'oggetto, il compilatore può sospendere il conteggio dei riferimenti in modo sicuro e migliorare le prestazioni di chiamata. Non vi è alcuna operazione utile che il codice possa eseguire tramite questa proprietà. Il sistema gestisce tutti i dettagli.
Metodo String::Length
Recupera il numero di caratteri nell'oggetto corrente String
.
Sintassi
unsigned int Length();
Valore restituito
Numero di caratteri nell'oggetto corrente String
.
Osservazioni:
La lunghezza di una stringa senza caratteri è zero. La lunghezza della stringa seguente è 5:
String^ str = "Hello";
int len = str->Length(); //len = 5
La matrice di caratteri restituita da String::D ata ha un carattere aggiuntivo, ovvero l'elemento NULL di terminazione o '\0'. La lunghezza di questo carattere è inoltre di due byte.
Operatore String::operator+
Concatena due oggetti String in un nuovo oggetto String .
Sintassi
bool String::operator+( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
.
str2
Secondo oggetto String
, il cui contenuto verrà aggiunto a str1
.
Valore restituito
true
se str1 è uguale a str2; in caso contrario, false
.
Osservazioni:
Questo operatore crea un oggetto String^
contenente i dati dei due operandi. Puoi usarlo per praticità quando non è fondamentale ottenere prestazioni estreme. Alcune chiamate a "+
" in una funzione non saranno probabilmente rilevanti, ma se modifichi oggetti di grandi dimensioni o dati di testo in un ciclo rigido, usa tipi e meccanismi C++ standard.
Operatore String::operator==
Indica se due oggetti String specificati hanno lo stesso valore di testo.
Sintassi
bool String::operator==( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
da confrontare.
str2
Secondo oggetto String
da confrontare.
Valore restituito
true
se il contenuto di str1
è uguale a str2
; in caso contrario, false
.
Osservazioni:
Questo operatore equivale a String::CompareOrdinal.
String::operator>
Indica se il valore di un String
oggetto è maggiore del valore di un secondo String
oggetto.
Sintassi
bool String::operator>( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
.
str2
Secondo oggetto String
.
Valore restituito
true
se il valore di str1
è maggiore del valore di str2
; in caso contrario, false
.
Osservazioni:
Questo operatore equivale a chiamare in modo esplicito String::CompareOrdinal e ottenere un risultato maggiore di zero.
String::operator>=
Indica se il valore di un String
oggetto è maggiore o uguale al valore di un secondo String
oggetto.
Sintassi
bool String::operator>=( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
.
str2
Secondo oggetto String
.
Valore restituito
true
se il valore di str1
è maggiore o uguale al valore di str2
; in caso contrario, false
.
String::operator!=
Indica se due oggetti specificati String
hanno valori diversi.
Sintassi
bool String::operator!=( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
da confrontare.
str2
Secondo oggetto String
da confrontare.
Valore restituito
true
se str1
non è uguale a str2
; in caso contrario, false
.
String::operator<
Indica se il valore di un String
oggetto è minore del valore di un secondo String
oggetto.
Sintassi
bool String::operator<( String^ str1, String^ str2);
Parametri
str1
Primo oggetto String
.
str2
Secondo oggetto String
.
Valore restituito
true
se il valore di str1 è minore del valore di str2; in caso contrario, false
.
Costruttore String::String
Inizializza una nuova istanza della String
classe con una copia dei dati della stringa di input.
Sintassi
String();
String(char16* s);
String(char16* s, unsigned int n);
Parametri
s
Serie di caratteri "wide" che inizializzano la stringa char16
n
Numero che specifica la lunghezza della stringa.
Osservazioni:
Se le prestazioni sono critiche e si controlla la durata della stringa di origine, è possibile usare Platform::StringReference al posto di String.
Esempio
String^ s = L"Hello!";
String::ToString
Restituisce un String
oggetto il cui valore corrisponde alla stringa corrente.
Sintassi
String^ String::ToString();
Valore restituito
Oggetto String
il cui valore è uguale alla stringa corrente.