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.

Vedi anche

Spazio dei nomi Platform