Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe String

 

Data di pubblicazione: ottobre 2016

Rappresenta il testo come sequenza di unità di codice UTF-16.

Per esaminare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)


[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable, ICloneable, IConvertible, 
	IEnumerable, IComparable<string>, IEnumerable<char>, IEquatable<string>

NomeDescrizione
System_CAPS_pubmethodString(Char*)

Inizializza una nuova istanza della classe String sul valore indicato da uno specifico puntatore a una matrice di caratteri Unicode.

System_CAPS_pubmethodString(Char*, Int32, Int32)

Inizializza una nuova istanza della classe String sul valore indicato da uno specifico puntatore a una matrice di caratteri Unicode, da una posizione iniziale del carattere all'interno di tale matrice e da una lunghezza.

System_CAPS_pubmethodString(Char, Int32)

Inizializza una nuova istanza della classe String sul valore indicato da uno specifico carattere Unicode ripetuto un numero precisato di volte.

System_CAPS_pubmethodString(Char[])

Inizializza una nuova istanza della classe String sul valore indicato da una matrice di caratteri Unicode.

System_CAPS_pubmethodString(Char[], Int32, Int32)

Inizializza una nuova istanza della classe String sul valore indicato da una matrice di caratteri Unicode, da una posizione iniziale del carattere all'interno di tale matrice e da una lunghezza.

System_CAPS_pubmethodString(SByte*)

Inizializza una nuova istanza della classe String sul valore indicato da un puntatore a una matrice di interi con segno a 8 bit.

System_CAPS_pubmethodString(SByte*, Int32, Int32)

Inizializza una nuova istanza della classe String sul valore indicato da uno specifico puntatore a una matrice di interi con segno a 8 bit, da una posizione iniziale all'interno di tale matrice e da una lunghezza.

System_CAPS_pubmethodString(SByte*, Int32, Int32, Encoding)

Inizializza una nuova istanza della classe String sul valore indicato da uno specifico puntatore a una matrice di interi con segno a 8 bit, da una posizione iniziale all'interno di tale matrice e da un oggetto Encoding.

NomeDescrizione
System_CAPS_pubpropertyChars[Int32]

Ottiene l'oggetto Char in una posizione specificata dell'oggetto String corrente.

System_CAPS_pubpropertyLength

Ottiene il numero di caratteri nell'oggetto String corrente.

NomeDescrizione
System_CAPS_pubmethodClone()

Restituisce un riferimento a questa istanza della classe String.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32)

Confronta le sottostringhe di due oggetti String specificati e restituisce un intero che indica la relativa posizione nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, Boolean)

Confronta le sottostringhe di due oggetti String specificati, ignorando o rispettando la distinzione tra maiuscole e minuscole, e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)

Confronta le sottostringhe di due oggetti String specificati, ignorando o rispettando la distinzione tra maiuscole e minuscole e usando le informazioni specifiche delle impostazioni cultura per influenzare il confronto, e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)

Confronta le sottostringhe di due oggetti String specificati, usando le opzioni di confronto specificate e le informazioni specifiche delle impostazioni cultura per influenzare il confronto, e restituisce un intero che indica la relazione reciproca tra le due sottostringhe nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, StringComparison)

Confronta sottostringhe di due oggetti String specificati usando le regole specificate e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String)

Confronta due oggetti String specificati e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, Boolean)

Confronta due oggetti String specificati, ignorando o rispettando la distinzione tra maiuscole e minuscole, e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, Boolean, CultureInfo)

Confronta due oggetti String specificati, ignorando o rispettando la distinzione tra maiuscole e minuscole e usando le informazioni specifiche delle impostazioni cultura per influenzare il confronto, e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, CultureInfo, CompareOptions)

Confronta due oggetti String specificati, usando le opzioni di confronto specificate e le informazioni specifiche delle impostazioni cultura per influenzare il confronto, e restituisce un intero che indica la relazione reciproca tra le due stringhe nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, StringComparison)

Confronta due oggetti String specificati usando le regole specificate e restituisce un intero che ne indica la posizione relativa nell'ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticCompareOrdinal(String, Int32, String, Int32, Int32)

Effettua il confronto fra sottostringhe di due determinati oggetti String in base all'analisi dei valori numerici dei corrispondenti oggetti Char in ogni sottostringa.

System_CAPS_pubmethodSystem_CAPS_staticCompareOrdinal(String, String)

Confronta due oggetti String specificati in base all'analisi dei valori numerici dei corrispondenti oggetti Char in ogni stringa.

System_CAPS_pubmethodCompareTo(Object)

Confronta questa istanza con un oggetto Object specificato e indica se questa istanza precede, segue o si trova nella stessa posizione dell'oggetto Object specificato all'interno dell'ordinamento.

System_CAPS_pubmethodCompareTo(String)

Confronta questa istanza con un oggetto String specificato e indica se questa istanza precede, segue o si trova nella stessa posizione della stringa specificata all'interno dei criteri di ordinamento.

System_CAPS_pubmethodSystem_CAPS_staticConcat(IEnumerable<String>)

Concatena i membri di una raccolta IEnumerable<T> costruita di tipo String.

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object)

Crea la rappresentazione di stringa di un oggetto specificato.

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object)

Concatena le rappresentazioni di stringa di due oggetti specificati.

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object, Object)

Concatena le rappresentazioni di stringa di tre oggetti specificati.

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object, Object, Object)

Concatena le rappresentazioni di stringa di quattro oggetti specificati e di qualsiasi oggetto specificato in un elenco di parametri di lunghezza variabile facoltativo.

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object[])

Concatena le rappresentazioni di stringa degli elementi in una matrice Object specificata.

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String)

Concatena due istanze specificate della classe String.

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String, String)

Concatena tre istanze specificate della classe String.

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String, String, String)

Concatena quattro istanze specificate della classe String.

System_CAPS_pubmethodSystem_CAPS_staticConcat(String[])

Concatena gli elementi di una matrice di oggetti String specificati.

System_CAPS_pubmethodSystem_CAPS_staticConcat<T>(IEnumerable<T>)

Concatena i membri di un'implementazione di IEnumerable<T>.

System_CAPS_pubmethodContains(String)

Restituisce un valore che indica se una sottostringa specificata è presente all'interno della stringa.

System_CAPS_pubmethodSystem_CAPS_staticCopy(String)

Crea una nuova istanza dell'oggetto String con lo stesso valore di un'istanza dell'oggetto String specificata.

System_CAPS_pubmethodCopyTo(Int32, Char[], Int32, Int32)

Copia un numero definito di caratteri da una posizione specificata in questa istanza in una posizione specificata in una matrice di caratteri Unicode.

System_CAPS_pubmethodEndsWith(String)

Determina se la fine di questa istanza di stringa corrisponde alla stringa specificata.

System_CAPS_pubmethodEndsWith(String, Boolean, CultureInfo)

Determina se la fine di questa istanza di stringa corrisponde alla stringa specificata se confrontata mediante le impostazioni cultura specificate.

System_CAPS_pubmethodEndsWith(String, StringComparison)

Determina se la fine di questa istanza di stringa corrisponde alla stringa specificata se confrontata mediante l'opzione di confronto specificata.

System_CAPS_pubmethodEquals(Object)

Determina se questa istanza e un oggetto specificato, che deve essere anche un oggetto String, hanno lo stesso valore.(Esegue l'override di Object.Equals(Object).)

System_CAPS_pubmethodEquals(String)

Determina se questa istanza e un altro oggetto String specificato hanno lo stesso valore.

System_CAPS_pubmethodSystem_CAPS_staticEquals(String, String)

Determina se due oggetti String specificati hanno lo stesso valore.

System_CAPS_pubmethodSystem_CAPS_staticEquals(String, String, StringComparison)

Determina se due oggetti String specificati hanno lo stesso valore. Un parametro specifica le impostazioni cultura, l'eventuale distinzione fra maiuscole e minuscole e le regole di ordinamento usate per effettuare il confronto.

System_CAPS_pubmethodEquals(String, StringComparison)

Determina se questa stringa e un oggetto String specificato hanno lo stesso valore. Un parametro specifica le impostazioni cultura, l'eventuale distinzione fra maiuscole e minuscole e le regole di ordinamento usate per effettuare il confronto.

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object)

Sostituisce uno o più elementi di formato presenti in una stringa specificata con la rappresentazione di stringa dell'oggetto corrispondente. Un parametro fornisce le informazioni di formattazione specifiche delle impostazioni cultura.

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object, Object)

Sostituisce gli elementi di formato presenti in una stringa specificata con la rappresentazione di stringa di due oggetti specificati. Un parametro fornisce le informazioni di formattazione specifiche delle impostazioni cultura.

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object, Object, Object)

Sostituisce gli elementi di formato in una stringa specificata con le rappresentazioni di stringa di tre oggetti specificati. Un parametro fornisce le informazioni di formattazione specifiche delle impostazioni cultura.

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object[])

Sostituisce gli elementi di formato presenti in una stringa specificata con le rappresentazioni di stringa di oggetti corrispondenti in una matrice specificata. Un parametro fornisce le informazioni di formattazione specifiche delle impostazioni cultura.

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object)

Sostituisce uno o più elementi di formato in una stringa specificata con la rappresentazione di stringa di un oggetto specificato.

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object, Object)

Sostituisce gli elementi di formato presenti in una stringa specificata con la rappresentazione di stringa di due oggetti specificati.

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object, Object, Object)

Sostituisce gli elementi di formato in una stringa specificata con le rappresentazioni di stringa di tre oggetti specificati.

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object[])

Sostituisce l'elemento di formato presente in una stringa specificata con la rappresentazione di stringa di un oggetto corrispondente in una matrice specificata.

System_CAPS_pubmethodGetEnumerator()

Recupera un oggetto che può eseguire l'iterazione fra i singoli caratteri di questa stringa.

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash di questa stringa.(Esegue l'override di Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodGetTypeCode()

Restituisce l'oggetto TypeCode per la classe String.

System_CAPS_pubmethodIndexOf(Char)

Restituisce l'indice in base zero della prima occorrenza del carattere Unicode specificato in questa stringa.

System_CAPS_pubmethodIndexOf(Char, Int32)

Restituisce l'indice in base zero della prima occorrenza del carattere Unicode specificato in questa stringa. La ricerca ha inizio alla posizione del carattere specificata.

System_CAPS_pubmethodIndexOf(Char, Int32, Int32)

Restituisce l'indice in base zero della prima occorrenza del carattere specificato in questa istanza. La ricerca viene eseguita iniziando dalla posizione specificata dei caratteri ed esamina un determinato numero di posizioni.

System_CAPS_pubmethodIndexOf(String)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza.

System_CAPS_pubmethodIndexOf(String, Int32)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza. La ricerca ha inizio alla posizione del carattere specificata.

System_CAPS_pubmethodIndexOf(String, Int32, Int32)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza. La ricerca viene eseguita iniziando dalla posizione specificata dei caratteri ed esamina un determinato numero di posizioni.

System_CAPS_pubmethodIndexOf(String, Int32, Int32, StringComparison)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata nell'oggetto String corrente. I parametri specificano la posizione di ricerca iniziale nella stringa corrente, il numero di caratteri nella stringa corrente in cui eseguire la ricerca e il tipo di ricerca da usare per la stringa specificata.

System_CAPS_pubmethodIndexOf(String, Int32, StringComparison)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata nell'oggetto String corrente. I parametri specificano la posizione iniziale della ricerca nella stringa corrente e il tipo di ricerca da usare per la stringa specificata.

System_CAPS_pubmethodIndexOf(String, StringComparison)

Restituisce l'indice in base zero della prima occorrenza della stringa specificata nell'oggetto String corrente. Un parametro specifica il tipo di ricerca da usare per la stringa specificata.

System_CAPS_pubmethodIndexOfAny(Char[])

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere presente in una matrice di caratteri Unicode specificata.

System_CAPS_pubmethodIndexOfAny(Char[], Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere presente in una matrice di caratteri Unicode specificata. La ricerca ha inizio alla posizione del carattere specificata.

System_CAPS_pubmethodIndexOfAny(Char[], Int32, Int32)

Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere presente in una matrice di caratteri Unicode specificata. La ricerca viene eseguita iniziando dalla posizione specificata dei caratteri ed esamina un determinato numero di posizioni.

System_CAPS_pubmethodInsert(Int32, String)

Restituisce una nuova stringa in cui una stringa specificata viene inserita in una posizione di indice specificata in questa istanza.

System_CAPS_pubmethodSystem_CAPS_staticIntern(String)

Recupera il riferimento del sistema all'oggetto String specificato.

System_CAPS_pubmethodSystem_CAPS_staticIsInterned(String)

Recupera un riferimento a un oggetto String specificato.

System_CAPS_pubmethodIsNormalized()

Specifica se la stringa è nel formato di normalizzazione Unicode C.

System_CAPS_pubmethodIsNormalized(NormalizationForm)

Specifica se la stringa è nel formato di normalizzazione Unicode indicato.

System_CAPS_pubmethodSystem_CAPS_staticIsNullOrEmpty(String)

Indica se la stringa specificata è null o una stringa Empty.

System_CAPS_pubmethodSystem_CAPS_staticIsNullOrWhiteSpace(String)

Indica se una stringa specificata è null, vuota o è composta solo da spazi vuoti.

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, IEnumerable<String>)

Concatena i membri di una raccolta IEnumerable<T> costruita di tipo String, usando tra i membri il separatore specificato.

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, Object[])

Concatena gli elementi di una matrice di oggetti, usando tra gli elementi il separatore specificato.

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, String[])

Concatena tutti gli elementi di una matrice di stringhe, usando tra gli elementi il separatore specificato.

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, String[], Int32, Int32)

Concatena gli elementi specificati di una matrice di stringhe, usando tra gli elementi il separatore specificato.

System_CAPS_pubmethodSystem_CAPS_staticJoin<T>(String, IEnumerable<T>)

Concatena i membri di una raccolta, usando tra i membri il separatore specificato.

System_CAPS_pubmethodLastIndexOf(Char)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di un carattere Unicode specificato all'interno di questa istanza.

System_CAPS_pubmethodLastIndexOf(Char, Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di un carattere Unicode specificato all'interno di questa istanza. La ricerca inizia in corrispondenza di una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa.

System_CAPS_pubmethodLastIndexOf(Char, Int32, Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza del carattere Unicode specificato in una sottostringa all'interno di questa istanza. La ricerca inizia in una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa per un determinato numero di posizioni dei caratteri.

System_CAPS_pubmethodLastIndexOf(String)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno di questa istanza.

System_CAPS_pubmethodLastIndexOf(String, Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno di questa istanza. La ricerca inizia in corrispondenza di una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa.

System_CAPS_pubmethodLastIndexOf(String, Int32, Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno di questa istanza. La ricerca inizia in una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa per un determinato numero di posizioni dei caratteri.

System_CAPS_pubmethodLastIndexOf(String, Int32, Int32, StringComparison)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno di questa istanza. La ricerca inizia in una posizione del carattere specificata e continua all'indietro verso l'inizio della stringa per il numero di posizioni dei caratteri indicato. Un parametro specifica il tipo di confronto da effettuare durante la ricerca della stringa specificata.

System_CAPS_pubmethodLastIndexOf(String, Int32, StringComparison)

Restituisce l'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno dell'oggetto String corrente. La ricerca inizia in corrispondenza di una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa. Un parametro specifica il tipo di confronto da effettuare durante la ricerca della stringa specificata.

System_CAPS_pubmethodLastIndexOf(String, StringComparison)

Restituisce l'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno dell'oggetto String corrente. Un parametro specifica il tipo di ricerca da usare per la stringa specificata.

System_CAPS_pubmethodLastIndexOfAny(Char[])

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza in questa istanza di uno o più caratteri specificati in una matrice di caratteri Unicode.

System_CAPS_pubmethodLastIndexOfAny(Char[], Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza in questa istanza di uno o più caratteri specificati in una matrice di caratteri Unicode. La ricerca inizia in corrispondenza di una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa.

System_CAPS_pubmethodLastIndexOfAny(Char[], Int32, Int32)

Restituisce la posizione nell'indice in base zero dell'ultima occorrenza in questa istanza di uno o più caratteri specificati in una matrice di caratteri Unicode. La ricerca inizia in una posizione di carattere specificata e continua all'indietro verso l'inizio della stringa per un determinato numero di posizioni dei caratteri.

System_CAPS_pubmethodNormalize()

Restituisce una nuova stringa il cui valore testuale è lo stesso di questa stringa ma la cui rappresentazione binaria è nel formato di normalizzazione Unicode C.

System_CAPS_pubmethodNormalize(NormalizationForm)

Restituisce una nuova stringa il cui valore testuale è lo stesso di questa stringa ma la cui rappresentazione binaria è nel formato di normalizzazione Unicode specificato.

System_CAPS_pubmethodPadLeft(Int32)

Restituisce una nuova stringa che allinea a destra i caratteri in questa istanza mediante l'aggiunta a sinistra di un numero di spazi tale da ottenere la lunghezza totale specificata.

System_CAPS_pubmethodPadLeft(Int32, Char)

Restituisce una nuova stringa che allinea a destra i caratteri in questa istanza mediante l'aggiunta a sinistra di una sequenza di elementi pari al carattere Unicode specificato, in modo da ottenere la lunghezza totale specificata.

System_CAPS_pubmethodPadRight(Int32)

Restituisce una nuova stringa che allinea a sinistra i caratteri in questa stringa mediante l'aggiunta a destra di un numero di spazi tale da ottenere la lunghezza totale specificata.

System_CAPS_pubmethodPadRight(Int32, Char)

Restituisce una nuova stringa che allinea a sinistra i caratteri in questa stringa mediante l'aggiunta a destra di un carattere Unicode specificato, in modo da ottenere la lunghezza totale specificata.

System_CAPS_pubmethodRemove(Int32)

Restituisce una nuova stringa in cui sono stati eliminati tutti i caratteri dell'istanza corrente a partire da una posizione specificata fino all'ultima posizione.

System_CAPS_pubmethodRemove(Int32, Int32)

Restituisce una nuova stringa in cui è stato eliminato un numero specificato di caratteri nell'istanza corrente a partire da una posizione specificata.

System_CAPS_pubmethodReplace(Char, Char)

Restituisce una nuova stringa in cui tutte le occorrenze di un carattere Unicode specificato presenti in questa istanza vengono sostituite con un altro carattere Unicode specificato.

System_CAPS_pubmethodReplace(String, String)

Restituisce una nuova stringa in cui tutte le occorrenze di una stringa specificata nell'istanza corrente vengono sostituite con un'altra stringa specificata.

System_CAPS_pubmethodSplit(Char[])

Suddivide una stringa in sottostringhe basate sui caratteri in una matrice.

System_CAPS_pubmethodSplit(Char[], Int32)

Suddivide una stringa in un numero massimo di sottostringhe in base ai caratteri in una matrice. Numero massimo di sottostringhe da restituire.

System_CAPS_pubmethodSplit(Char[], Int32, StringSplitOptions)

Suddivide una stringa in un numero massimo di sottostringhe in base ai caratteri in una matrice.

System_CAPS_pubmethodSplit(Char[], StringSplitOptions)

Suddivide una stringa in sottostringhe in base ai caratteri in una matrice. È possibile specificare se le sottostringhe includono elementi della matrice vuota.

System_CAPS_pubmethodSplit(String[], Int32, StringSplitOptions)

Suddivide una stringa in un numero massimo di sottostringhe in base alle stringe in una matrice. È possibile specificare se le sottostringhe includono elementi della matrice vuota.

System_CAPS_pubmethodSplit(String[], StringSplitOptions)

Suddivide una stringa in sottostringhe in base alle stringhe in una matrice. È possibile specificare se le sottostringhe includono elementi della matrice vuota.

System_CAPS_pubmethodStartsWith(String)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata.

System_CAPS_pubmethodStartsWith(String, Boolean, CultureInfo)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata mediante le impostazioni cultura specificate.

System_CAPS_pubmethodStartsWith(String, StringComparison)

Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata se confrontata usando l'opzione di confronto specificata.

System_CAPS_pubmethodSubstring(Int32)

Recupera una sottostringa da questa istanza. La sottostringa inizia in corrispondenza di un carattere specificato e continua fino alla fine della stringa.

System_CAPS_pubmethodSubstring(Int32, Int32)

Recupera una sottostringa da questa istanza. La sottostringa inizia in corrispondenza della posizione del carattere specificata e ha la lunghezza specificata.

System_CAPS_pubmethodToCharArray()

Copia i caratteri di questa istanza in una matrice di caratteri Unicode.

System_CAPS_pubmethodToCharArray(Int32, Int32)

Copia i caratteri di una determinata sottostringa di questa istanza in una matrice di caratteri Unicode.

System_CAPS_pubmethodToLower()

Restituisce una copia di questa stringa convertita in caratteri minuscoli.

System_CAPS_pubmethodToLower(CultureInfo)

Restituisce una copia di questa stringa convertita in caratteri minuscoli, usando le regole relative all'utilizzo di maiuscole e minuscole proprie delle impostazioni cultura specificate.

System_CAPS_pubmethodToLowerInvariant()

Restituisce una copia dell'oggetto String convertito in caratteri minuscoli mediante le regole relative all'utilizzo di maiuscole e minuscole proprie delle impostazioni cultura invariabili.

System_CAPS_pubmethodToString()

Restituisce questa istanza di String. Non viene eseguita alcuna conversione effettiva.(Esegue l'override di Object.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Restituisce questa istanza di String. Non viene eseguita alcuna conversione effettiva.

System_CAPS_pubmethodToUpper()

Restituisce una copia di questa stringa convertita in caratteri maiuscoli.

System_CAPS_pubmethodToUpper(CultureInfo)

Restituisce una copia di questa stringa convertita in caratteri maiuscoli, usando le regole relative all'utilizzo di maiuscole e minuscole proprie delle impostazioni cultura specificate.

System_CAPS_pubmethodToUpperInvariant()

Restituisce una copia dell'oggetto String convertito in caratteri maiuscoli mediante le regole relative all'utilizzo di maiuscole e minuscole proprie delle impostazioni cultura invariabili.

System_CAPS_pubmethodTrim()

Rimuove tutti gli spazi vuoti iniziali e finali dall'oggetto String corrente.

System_CAPS_pubmethodTrim(Char[])

Rimuove dall'oggetto String corrente tutte le occorrenze iniziali e finali di un set di caratteri specificati in una matrice.

System_CAPS_pubmethodTrimEnd(Char[])

Rimuove dall'oggetto String corrente tutte le occorrenze finali di un set di caratteri specificati in una matrice.

System_CAPS_pubmethodTrimStart(Char[])

Rimuove dall'oggetto String corrente tutte le occorrenze iniziali di un set di caratteri specificati in una matrice.

NomeDescrizione
System_CAPS_pubfieldSystem_CAPS_staticEmpty

Rappresenta la stringa vuota. Questo campo è di sola lettura.

NomeDescrizione
System_CAPS_puboperatorSystem_CAPS_staticEquality(String, String)

Determina se due stringhe specificate hanno lo stesso valore.

System_CAPS_puboperatorSystem_CAPS_staticInequality(String, String)

Determina se due stringhe specificate hanno valori diversi.

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable<Char>.GetEnumerator()

Restituisce un enumeratore che esegue l'iterazione dell'oggetto String corrente.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Restituisce un enumeratore che esegue l'iterazione dell'oggetto String corrente.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToBoolean.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToChar.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToDateTime.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToDecimal.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToDouble.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToSingle.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToUInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Per una descrizione di questo membro, vedere ToUInt64.

NomeDescrizione
System_CAPS_pubmethodAggregate<Char>(Func<Char, Char, Char>)

Sottoposto a overload. Applica una funzione accumulatore una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodAggregate<Char, TAccumulate>(TAccumulate, Func<TAccumulate, Char, TAccumulate>)

Sottoposto a overload. Applica una funzione accumulatore una sequenza. Il valore di inizializzazione specificato viene usato come valore iniziale dell'accumulatore.(Definito da Enumerable.)

System_CAPS_pubmethodAggregate<Char, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, Char, TAccumulate>, Func<TAccumulate, TResult>)

Sottoposto a overload. Applica una funzione accumulatore una sequenza. Il valore di inizializzazione specificato viene usato come valore iniziale dell'accumulatore e la funzione specificata viene usata per selezionare il valore risultante.(Definito da Enumerable.)

System_CAPS_pubmethodAll<Char>(Func<Char, Boolean>)

Determina se tutti gli elementi di una sequenza soddisfano una condizione.(Definito da Enumerable.)

System_CAPS_pubmethodAny<Char>()

Sottoposto a overload. Determina se una sequenza contiene elementi.(Definito da Enumerable.)

System_CAPS_pubmethodAny<Char>(Func<Char, Boolean>)

Sottoposto a overload. Determina se un qualsiasi elemento di una sequenza soddisfa una condizione. (Definito da Enumerable.)

System_CAPS_pubmethodAsEnumerable<Char>()

Restituisce l'input digitato come IEnumerable<T>.(Definito da Enumerable.)

System_CAPS_pubmethodAsParallel()

Sottoposto a overload. Consente la parallelizzazione di una query.(Definito da ParallelEnumerable.)

System_CAPS_pubmethodAsParallel<Char>()

Sottoposto a overload. Consente la parallelizzazione di una query.(Definito da ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sottoposto a overload. Converte un IEnumerable a un IQueryable.(Definito da Queryable.)

System_CAPS_pubmethodAsQueryable<Char>()

Sottoposto a overload. Converte un oggetto generico IEnumerable<T> a un oggetto generico IQueryable<T>.(Definito da Queryable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Decimal>)

Sottoposto a overload. Calcola la media di una sequenza di Decimal valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Double>)

Sottoposto a overload. Calcola la media di una sequenza di Double valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Int32>)

Sottoposto a overload. Calcola la media di una sequenza di Int32 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Int64>)

Sottoposto a overload. Calcola la media di una sequenza di Int64 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Nullable<Decimal>>)

Sottoposto a overload. Calcola la media di una sequenza che ammette Decimal valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Nullable<Double>>)

Sottoposto a overload. Calcola la media di una sequenza che ammette Double valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Nullable<Int32>>)

Sottoposto a overload. Calcola la media di una sequenza che ammette Int32 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Nullable<Int64>>)

Sottoposto a overload. Calcola la media di una sequenza che ammette Int64 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Nullable<Single>>)

Sottoposto a overload. Calcola la media di una sequenza che ammette Single valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodAverage<Char>(Func<Char, Single>)

Sottoposto a overload. Calcola la media di una sequenza di Single valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodCast<TResult>()

Esegue il cast di elementi di un IEnumerable nel tipo specificato.(Definito da Enumerable.)

System_CAPS_pubmethodConcat<Char>(IEnumerable<Char>)

Concatena due sequenze.(Definito da Enumerable.)

System_CAPS_pubmethodContains<Char>(Char)

Sottoposto a overload. Determina se una sequenza contiene uno specifico elemento utilizzando l'operatore di confronto di uguaglianza predefinito. (Definito da Enumerable.)

System_CAPS_pubmethodContains<Char>(Char, IEqualityComparer<Char>)

Sottoposto a overload. Determina se una sequenza contiene un elemento specificato utilizzando un oggetto specificato IEqualityComparer<T>.(Definito da Enumerable.)

System_CAPS_pubmethodCount<Char>()

Sottoposto a overload. Restituisce il numero di elementi in una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodCount<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce un numero che rappresenta il numero di elementi nella sequenza specificata soddisfa una condizione.(Definito da Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<Char>()

Sottoposto a overload. Restituisce gli elementi della sequenza specificata o valore predefinito del parametro di tipo in una raccolta singleton se la sequenza è vuota.(Definito da Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<Char>(Char)

Sottoposto a overload. Restituisce gli elementi della sequenza specificata o il valore specificato in una raccolta singleton se la sequenza è vuota.(Definito da Enumerable.)

System_CAPS_pubmethodDistinct<Char>()

Sottoposto a overload. Restituisce elementi distinti da una sequenza utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori. (Definito da Enumerable.)

System_CAPS_pubmethodDistinct<Char>(IEqualityComparer<Char>)

Sottoposto a overload. Restituisce elementi distinti da una sequenza utilizzando un oggetto specificato IEqualityComparer<T> per confrontare i valori.(Definito da Enumerable.)

System_CAPS_pubmethodElementAt<Char>(Int32)

Restituisce l'elemento in corrispondenza dell'indice specificato in una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodElementAtOrDefault<Char>(Int32)

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.(Definito da Enumerable.)

System_CAPS_pubmethodExcept<Char>(IEnumerable<Char>)

Sottoposto a overload. Produce la differenza insiemistica di due sequenze utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori. (Definito da Enumerable.)

System_CAPS_pubmethodExcept<Char>(IEnumerable<Char>, IEqualityComparer<Char>)

Sottoposto a overload. Produce la differenza insiemistica di due sequenze utilizzando l'oggetto specificato IEqualityComparer<T> per confrontare i valori.(Definito da Enumerable.)

System_CAPS_pubmethodFirst<Char>()

Sottoposto a overload. Restituisce il primo elemento di una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodFirst<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce il primo elemento in una sequenza che soddisfa una condizione specificata.(Definito da Enumerable.)

System_CAPS_pubmethodFirstOrDefault<Char>()

Sottoposto a overload. Restituisce il primo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi.(Definito da Enumerable.)

System_CAPS_pubmethodFirstOrDefault<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce il primo elemento della sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento non viene trovato.(Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey>(Func<Char, TKey>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza secondo una specificata funzione del selettore di chiave. (Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza secondo una specificata funzione del selettore di chiave e confronta le chiavi utilizzando un operatore di confronto specificato. (Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza in base a una funzione specificata del selettore di chiave e proietta gli elementi di ogni gruppo utilizzando una funzione specificata. (Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza secondo una specificata funzione del selettore di chiave. Le chiavi vengono confrontate usando un operatore di confronto e gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.(Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificato e crea un valore risultante da ciascun gruppo e dalla relativa chiave. (Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>, IEqualityComparer<TKey>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificato e crea un valore risultante da ciascun gruppo e dalla relativa chiave. Le chiavi vengono confrontati usando un operatore di confronto specificato.(Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificato e crea un valore risultante da ciascun gruppo e dalla relativa chiave. Gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.(Definito da Enumerable.)

System_CAPS_pubmethodGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Sottoposto a overload. Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificato e crea un valore risultante da ciascun gruppo e dalla relativa chiave. I valori delle chiavi vengono confrontati usando un operatore di confronto specificato e gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.(Definito da Enumerable.)

System_CAPS_pubmethodGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>)

Sottoposto a overload. Mette in correlazione gli elementi di due sequenze in base all'uguaglianza delle chiavi e raggruppa i risultati. Per confrontare le chiavi viene usato l'operatore di confronto uguaglianze predefinito.(Definito da Enumerable.)

System_CAPS_pubmethodGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Sottoposto a overload. Mette in correlazione gli elementi di due sequenze in base all'uguaglianza delle chiavi e raggruppa i risultati. Per confrontare le chiavi, viene usato un oggetto IEqualityComparer<T> specificato.(Definito da Enumerable.)

System_CAPS_pubmethodIntersect<Char>(IEnumerable<Char>)

Sottoposto a overload. Produce l’intersezione insiemistica di due sequenze utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori. (Definito da Enumerable.)

System_CAPS_pubmethodIntersect<Char>(IEnumerable<Char>, IEqualityComparer<Char>)

Sottoposto a overload. Produce l'intersezione insiemistica delle due sequenze utilizzando l'oggetto specificato IEqualityComparer<T> per confrontare i valori.(Definito da Enumerable.)

System_CAPS_pubmethodJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>)

Sottoposto a overload. Mette in correlazione gli elementi di due sequenze in base alle chiavi corrispondenti. Per confrontare le chiavi viene usato l'operatore di confronto uguaglianze predefinito.(Definito da Enumerable.)

System_CAPS_pubmethodJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>, IEqualityComparer<TKey>)

Sottoposto a overload. Mette in correlazione gli elementi di due sequenze in base alle chiavi corrispondenti. Per confrontare le chiavi, viene usato un oggetto IEqualityComparer<T> specificato.(Definito da Enumerable.)

System_CAPS_pubmethodLast<Char>()

Sottoposto a overload. Restituisce l'ultimo elemento di una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodLast<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione specificata.(Definito da Enumerable.)

System_CAPS_pubmethodLastOrDefault<Char>()

Sottoposto a overload. Restituisce l'ultimo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi.(Definito da Enumerable.)

System_CAPS_pubmethodLastOrDefault<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento non viene trovato.(Definito da Enumerable.)

System_CAPS_pubmethodLongCount<Char>()

Sottoposto a overload. Restituisce un Int64 che rappresenta il numero totale di elementi in una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodLongCount<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce un Int64 che rappresenta il numero di elementi in una sequenza soddisfa una condizione.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>()

Sottoposto a overload. Restituisce il valore massimo in una sequenza generica.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Decimal>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo Decimal valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Double>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo Double valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Int32>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo Int32 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Int64>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo Int64 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Nullable<Decimal>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo nullable Decimal valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Nullable<Double>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo nullable Double valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Nullable<Int32>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo nullable Int32 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Nullable<Int64>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo nullable Int64 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Nullable<Single>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo nullable Single valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char>(Func<Char, Single>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il numero massimo Single valore.(Definito da Enumerable.)

System_CAPS_pubmethodMax<Char, TResult>(Func<Char, TResult>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza generica e restituisce il valore massimo risultante.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>()

Sottoposto a overload. Restituisce il valore minimo in una sequenza generica.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Decimal>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Decimal valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Double>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Double valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Int32>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Int32 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Int64>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Int64 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Nullable<Decimal>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo che ammette valori null Decimal valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Nullable<Double>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo che ammette valori null Double valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Nullable<Int32>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo che ammette valori null Int32 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Nullable<Int64>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo che ammette valori null Int64 valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Nullable<Single>>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo che ammette valori null Single valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char>(Func<Char, Single>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Single valore.(Definito da Enumerable.)

System_CAPS_pubmethodMin<Char, TResult>(Func<Char, TResult>)

Sottoposto a overload. Richiama una funzione di trasformazione su ogni elemento di una sequenza generica e restituisce il valore minimo risultante.(Definito da Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra gli elementi di un IEnumerable in base a un tipo specificato.(Definito da Enumerable.)

System_CAPS_pubmethodOrderBy<Char, TKey>(Func<Char, TKey>)

Sottoposto a overload. Ordina gli elementi di una sequenza in ordine crescente in base a una chiave.(Definito da Enumerable.)

System_CAPS_pubmethodOrderBy<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)

Sottoposto a overload. Ordina in senso crescente gli elementi di una sequenza utilizzando un operatore di confronto specificato. (Definito da Enumerable.)

System_CAPS_pubmethodOrderByDescending<Char, TKey>(Func<Char, TKey>)

Sottoposto a overload. Ordina gli elementi di una sequenza in ordine decrescente in base a una chiave.(Definito da Enumerable.)

System_CAPS_pubmethodOrderByDescending<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)

Sottoposto a overload. Ordina in senso decrescente gli elementi di una sequenza usando un operatore di confronto specificato.(Definito da Enumerable.)

System_CAPS_pubmethodReverse<Char>()

Inverte l'ordine degli elementi in una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodSelect<Char, TResult>(Func<Char, TResult>)

Sottoposto a overload. Proietta ogni elemento di una sequenza in una nuova forma. (Definito da Enumerable.)

System_CAPS_pubmethodSelect<Char, TResult>(Func<Char, Int32, TResult>)

Sottoposto a overload. Proietta ogni elemento di una sequenza in una nuova forma incorporando l'indice dell'elemento. (Definito da Enumerable.)

System_CAPS_pubmethodSelectMany<Char, TResult>(Func<Char, IEnumerable<TResult>>)

Sottoposto a overload. Proietta ogni elemento di una sequenza a un IEnumerable<T> e semplifica le sequenze risultanti in un'unica sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodSelectMany<Char, TResult>(Func<Char, Int32, IEnumerable<TResult>>)

Sottoposto a overload. Proietta ogni elemento di una sequenza a un IEnumerable<T>, e semplifica le sequenze risultanti in un'unica sequenza. L'indice di ogni elemento di origine viene usato nella maschera proiettata di tale elemento.(Definito da Enumerable.)

System_CAPS_pubmethodSelectMany<Char, TCollection, TResult>(Func<Char, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)

Sottoposto a overload. Proietta ogni elemento di una sequenza a un oggetto IEnumerable<T>, semplifica le sequenze risultanti in un'unica sequenza e richiama una funzione del selettore di risultato su ogni elemento al suo interno.(Definito da Enumerable.)

System_CAPS_pubmethodSelectMany<Char, TCollection, TResult>(Func<Char, Int32, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)

Sottoposto a overload. Proietta ogni elemento di una sequenza a un oggetto IEnumerable<T>, semplifica le sequenze risultanti in un'unica sequenza e richiama una funzione del selettore di risultato su ogni elemento al suo interno. L'indice di ogni elemento di origine viene usato nella maschera intermedia proiettata di tale elemento.(Definito da Enumerable.)

System_CAPS_pubmethodSequenceEqual<Char>(IEnumerable<Char>)

Sottoposto a overload. Determina se due sequenze sono uguali confrontando gli elementi tramite l’uso dell'operatore di confronto di uguaglianza predefinito per il loro tipo. (Definito da Enumerable.)

System_CAPS_pubmethodSequenceEqual<Char>(IEnumerable<Char>, IEqualityComparer<Char>)

Sottoposto a overload. Determina se due sequenze sono uguali confrontandone gli elementi utilizzando un oggetto specificato IEqualityComparer<T>.(Definito da Enumerable.)

System_CAPS_pubmethodSingle<Char>()

Sottoposto a overload. Restituisce l'unico elemento di una sequenza e genera un'eccezione se nella sequenza non è presente esattamente un elemento.(Definito da Enumerable.)

System_CAPS_pubmethodSingle<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce l'unico elemento di una sequenza che soddisfa una condizione specificata e genera un'eccezione se esistono più elementi di tale tipo.(Definito da Enumerable.)

System_CAPS_pubmethodSingleOrDefault<Char>()

Sottoposto a overload. Restituisce il singolo elemento di una sequenza o un valore predefinito se la sequenza è vuota; questo metodo genera un'eccezione se esiste più di un elemento nella sequenza. (Definito da Enumerable.)

System_CAPS_pubmethodSingleOrDefault<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce il singolo elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento esiste; questo metodo genera un'eccezione se più di un elemento soddisfa la condizione. (Definito da Enumerable.)

System_CAPS_pubmethodSkip<Char>(Int32)

Ignora un numero specificato di elementi in una sequenza e restituisce gli elementi rimanenti.(Definito da Enumerable.)

System_CAPS_pubmethodSkipWhile<Char>(Func<Char, Boolean>)

Sottoposto a overload. Ignora gli elementi in una sequenza, purché una condizione specificata è true e quindi restituisce gli elementi rimanenti.(Definito da Enumerable.)

System_CAPS_pubmethodSkipWhile<Char>(Func<Char, Int32, Boolean>)

Sottoposto a overload. Ignora gli elementi in una sequenza, purché una condizione specificata è true e quindi restituisce gli elementi rimanenti. L'indice dell'elemento viene usato nella logica della funzione predicativa.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Decimal>)

Sottoposto a overload. Calcola la somma della sequenza di Decimal valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Double>)

Sottoposto a overload. Calcola la somma della sequenza di Double valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Int32>)

Sottoposto a overload. Calcola la somma della sequenza di Int32 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Int64>)

Sottoposto a overload. Calcola la somma della sequenza di Int64 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Nullable<Decimal>>)

Sottoposto a overload. Calcola la somma della sequenza di nullable Decimal valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Nullable<Double>>)

Sottoposto a overload. Calcola la somma della sequenza di nullable Double valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Nullable<Int32>>)

Sottoposto a overload. Calcola la somma della sequenza di nullable Int32 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Nullable<Int64>>)

Sottoposto a overload. Calcola la somma della sequenza di nullable Int64 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Nullable<Single>>)

Sottoposto a overload. Calcola la somma della sequenza di nullable Single valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodSum<Char>(Func<Char, Single>)

Sottoposto a overload. Calcola la somma della sequenza di Single valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.(Definito da Enumerable.)

System_CAPS_pubmethodTake<Char>(Int32)

Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza.(Definito da Enumerable.)

System_CAPS_pubmethodTakeWhile<Char>(Func<Char, Boolean>)

Sottoposto a overload. Restituisce elementi da una sequenza finché una condizione specificata è true.(Definito da Enumerable.)

System_CAPS_pubmethodTakeWhile<Char>(Func<Char, Int32, Boolean>)

Sottoposto a overload. Restituisce elementi da una sequenza finché una condizione specificata è true. L'indice dell'elemento viene usato nella logica della funzione predicativa.(Definito da Enumerable.)

System_CAPS_pubmethodToArray<Char>()

Crea una matrice da un oggetto IEnumerable<T>.(Definito da Enumerable.)

System_CAPS_pubmethodToDictionary<Char, TKey>(Func<Char, TKey>)

Sottoposto a overload. Crea un Dictionary<TKey, TValue> da un IEnumerable<T> secondo una funzione del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToDictionary<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)

Sottoposto a overload. Crea un Dictionary<TKey, TValue> da un IEnumerable<T> in base a un operatore di confronto (funzione) e la chiave del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)

Sottoposto a overload. Crea un Dictionary<TKey, TValue> da un IEnumerable<T> secondo le funzioni del selettore di elemento e del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)

Sottoposto a overload. Crea un Dictionary<TKey, TValue> da un IEnumerable<T> secondo una funzione del selettore principale specificata, un operatore di confronto e una funzione del selettore elemento.(Definito da Enumerable.)

System_CAPS_pubmethodToList<Char>()

Crea un oggetto List<T> da un oggetto IEnumerable<T>.(Definito da Enumerable.)

System_CAPS_pubmethodToLookup<Char, TKey>(Func<Char, TKey>)

Sottoposto a overload. Crea un Lookup<TKey, TElement> da un IEnumerable<T> secondo una funzione del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToLookup<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)

Sottoposto a overload. Crea un Lookup<TKey, TElement> da un IEnumerable<T> in base a un operatore di confronto (funzione) e la chiave del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)

Sottoposto a overload. Crea un Lookup<TKey, TElement> da un IEnumerable<T> secondo le funzioni del selettore di elemento e del selettore principale specificata.(Definito da Enumerable.)

System_CAPS_pubmethodToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)

Sottoposto a overload. Crea un Lookup<TKey, TElement> da un IEnumerable<T> secondo una funzione del selettore principale specificata, un operatore di confronto e una funzione del selettore elemento.(Definito da Enumerable.)

System_CAPS_pubmethodUnion<Char>(IEnumerable<Char>)

Sottoposto a overload. Produce l'unione insiemistica delle due sequenze utilizzando l'operatore di confronto di uguaglianza predefinito. (Definito da Enumerable.)

System_CAPS_pubmethodUnion<Char>(IEnumerable<Char>, IEqualityComparer<Char>)

Sottoposto a overload. Produce l'unione insiemistica delle due sequenze utilizzando un oggetto specificato IEqualityComparer<T>.(Definito da Enumerable.)

System_CAPS_pubmethodWhere<Char>(Func<Char, Boolean>)

Sottoposto a overload. Filtra una sequenza di valori in base a un predicato.(Definito da Enumerable.)

System_CAPS_pubmethodWhere<Char>(Func<Char, Int32, Boolean>)

Sottoposto a overload. Filtra una sequenza di valori in base a un predicato. L'indice di ogni elemento viene usato nella logica della funzione predicato.(Definito da Enumerable.)

System_CAPS_pubmethodZip<Char, TSecond, TResult>(IEnumerable<TSecond>, Func<Char, TSecond, TResult>)

Applica una funzione specificata per gli elementi corrispondenti di due sequenze, che produce una sequenza di risultati.(Definito da Enumerable.)

System_CAPS_noteNota

Per visualizzare il codice sorgente di .NET Framework per questo tipo, vedere il Reference Source. È possibile esplorare il codice sorgente online, scaricare i riferimenti per la visualizzazione offline e scorrere le origini (inclusi aggiornamenti e patch) durante l'esecuzione del debug. see instructions.

Una stringa è una raccolta sequenziale di caratteri utilizzato per rappresentare del testo. Oggetto String oggetto è una raccolta sequenziale di System.Char gli oggetti che rappresentano una stringa, un System.Char oggetto corrisponde a un'unità di codice UTF-16. Il valore di String rappresenta il contenuto della raccolta sequenziale di System.Char oggetti e che il valore è non modificabile (ovvero, è in sola lettura). Per ulteriori informazioni sull'immutabilità delle stringhe, vedere il immutabilità e della classe StringBuilder sezione più avanti in questo argomento. Le dimensioni massime di un String oggetto in memoria è 2 GB o circa 1 miliardo caratteri.

Contenuto della sezione:

Creazione di un oggetto String
Oggetti char e caratteri Unicode
Le stringhe e lo Standard Unicode
Le stringhe e caratteri null incorporati
Le stringhe e indici
Le stringhe null e stringhe vuote
Immutabilità e della classe StringBuilder
Numero ordinale di operazioni dipendenti dalle impostazioni cultura
Normalization
Operazioni su stringhe per categoria

È possibile creare un'istanza di un String oggetto nei modi seguenti:

  • Assegnando una valore letterale stringa a un String variabile. Questo è il metodo più comunemente usato per la creazione di una stringa. Nell'esempio seguente usa l'assegnazione per creare più stringhe. Si noti che in c#, perché la barra rovesciata (\) è un carattere di escape, deve usare caratteri di escape barra rovesciata letterale in una stringa o l'intera stringa deve essere @ racchiusa tra virgolette.

    string string1 = "This is a string created by assignment.";
    Console.WriteLine(string1);
    string string2a = "The path is C:\\PublicDocuments\\Report1.doc";
    Console.WriteLine(string2a);
    string string2b = @"The path is C:\PublicDocuments\Report1.doc";
    Console.WriteLine(string2b);
    // The example displays the following output:
    //       This is a string created by assignment.
    //       The path is C:\PublicDocuments\Report1.doc
    //       The path is C:\PublicDocuments\Report1.doc      
    
  • Chiamando un String costruttore della classe. Nell'esempio seguente crea un'istanza di stringhe chiamando i costruttori di classi diverse. Si noti che alcuni costruttori includono puntatori a matrici di caratteri o matrici di byte con segno come parametri. Visual Basic non supporta le chiamate a questi costruttori. Per informazioni dettagliate su String costruttori, vedere il String costruttore riepilogo.

    char[] chars = { 'w', 'o', 'r', 'd' };
    sbyte[] bytes = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x00 };
    
    // Create a string from a character array.
    string string1 = new string(chars);
    Console.WriteLine(string1);
    
    // Create a string that consists of a character repeated 20 times.
    string string2 = new string('c', 20);
    Console.WriteLine(string2);
    
    string stringFromBytes = null;
    string stringFromChars = null;
    unsafe
    {
       fixed (sbyte* pbytes = bytes)
       {
          // Create a string from a pointer to a signed byte array.
          stringFromBytes = new string(pbytes);
       }
       fixed (char* pchars = chars)
       {
          // Create a string from a pointer to a character array.
          stringFromChars = new string(pchars);
       }
    }
    Console.WriteLine(stringFromBytes);
    Console.WriteLine(stringFromChars);
    // The example displays the following output:
    //       word
    //       cccccccccccccccccccc
    //       ABCDE
    //       word  
    
  • Utilizzando l'operatore di concatenazione di stringhe (+ in c# e / o + in Visual Basic) per creare una singola stringa da qualsiasi combinazione di String istanze e i valori letterali stringa. Nell'esempio seguente viene illustrato l'utilizzo dell'operatore di concatenazione di stringhe.

    string string1 = "Today is " + DateTime.Now.ToString("D") + ".";
    Console.WriteLine(string1);
    
    string string2 = "This is one sentence. " + "This is a second. ";
    string2 += "This is a third sentence.";
    Console.WriteLine(string2);
    // The example displays output like the following:
    //    Today is Tuesday, July 06, 2011.
    //    This is one sentence. This is a second. This is a third sentence.
    
  • Recupero di una proprietà o chiamando un metodo che restituisce una stringa. L'esempio seguente usa i metodi del String classe per estrarre una sottostringa da una stringa più grande.

    string sentence = "This sentence has five words.";
    // Extract the second word.
    int startPosition = sentence.IndexOf(" ") + 1;
    string word2 = sentence.Substring(startPosition,
                                      sentence.IndexOf(" ", startPosition) - startPosition);
    Console.WriteLine("Second word: " + word2);
    // The example displays the following output:
    //       Second word: sentence
    
  • Chiamando un metodo di formattazione per convertire un valore o un oggetto nella relativa rappresentazione di stringa. L'esempio seguente usa il formattazione composita funzionalità per incorporare la rappresentazione di stringa di due oggetti in una stringa.

    DateTime dateAndTime = new DateTime(2011, 7, 6, 7, 32, 0);
    double temperature = 68.3;
    string result = String.Format("At {0:t} on {0:D}, the temperature was {1:F1} degrees Fahrenheit.",
                                  dateAndTime, temperature);
    Console.WriteLine(result);
    // The example displays the following output:
    //       At 7:32 AM on Wednesday, July 06, 2011, the temperature was 68.3 degrees Fahrenheit.      
    

Ogni carattere in una stringa è definito da un valore scalare Unicode, definito anche come un punto di codice Unicode o il valore ordinale (numerico) del carattere Unicode. Ogni punto di codice verrà codificato utilizzando la codifica UTF-16 e il valore numerico di ogni elemento della codifica è rappresentato da un Char oggetto.

System_CAPS_noteNota

Si noti che, poiché un String istanza è costituita da una raccolta sequenziale di unità di codice UTF-16, è possibile creare un String oggetto che non è una stringa Unicode in formato corretto. Ad esempio, è possibile creare una stringa che contiene un surrogato basso senza un surrogato alto corrispondente. Anche se alcuni metodi, ad esempio i metodi di codifica e decodifica gli oggetti di System.Text dello spazio dei nomi, potrebbe esegue i controlli per assicurarsi che le stringhe siano in formato corretto, String membri della classe garantisce che una stringa è ben formata.

Un singolo Char oggetto in genere rappresenta un singolo punto di codice, vale a dire il valore numerico del Char è uguale al punto di codice. Ad esempio, il punto di codice per il carattere "a" è U + 0061. Tuttavia, un punto di codice potrebbe richiedere più di un elemento codificato (più Char oggetto). Lo standard Unicode definisce due tipi di caratteri che corrispondono a più Char oggetti: grafema e punti di codice supplementari Unicode che corrispondono ai caratteri nei piani supplementari Unicode.

  • Un grafemi sono rappresentato da un carattere di base seguito da uno o più caratteri di combinazione. Ad esempio, il carattere ä è rappresentato da un Char il cui punto di codice è U + 0061 seguito da un oggetto Char oggetto il cui punto di codice è U + 0308. Questo carattere può essere definito anche da un singolo Char oggetto con un punto di codice di U + 00E4. Come illustrato nell'esempio seguente, un confronto con distinzione delle impostazioni cultura per verificarne l'uguaglianza indica che le due rappresentazioni sono uguali, anche se non esegue un confronto ordinale comune. Tuttavia, se le due stringhe sono normalizzate, un confronto ordinale anche indica che sono uguali. (Per ulteriori informazioni sulla normalizzazione di stringhe, vedere il normalizzazione sezione.)

    using System;
    using System.Globalization;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\graphemes.txt");
          string grapheme = "\u0061\u0308";
          sw.WriteLine(grapheme);
    
          string singleChar = "\u00e4";
          sw.WriteLine(singleChar);
    
          sw.WriteLine("{0} = {1} (Culture-sensitive): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.CurrentCulture));
          sw.WriteLine("{0} = {1} (Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.Ordinal));
          sw.WriteLine("{0} = {1} (Normalized Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme.Normalize(), 
                                     singleChar.Normalize(), 
                                     StringComparison.Ordinal));
          sw.Close(); 
       }
    }
    // The example produces the following output:
    //       ä
    //       ä
    //       ä = ä (Culture-sensitive): True
    //       ä = ä (Ordinal): False
    //       ä = ä (Normalized Ordinal): True
    
  • Unicode punto di codice supplementare (una coppia di surrogati) è rappresentato da un Char oggetto il cui punto di codice è un surrogato alto seguito da un Char oggetto il cui punto di codice è un surrogato basso. Le unità di codice di surrogati alti compreso tra U + D800 e U + DBFF. Le unità di codice di surrogati bassi compreso tra U + DC00 e U + DFFF. Le coppie di surrogati vengono utilizzate per rappresentare i caratteri nei piani supplementari Unicode 16. Nell'esempio seguente viene creato un carattere surrogato e lo passa al Char.IsSurrogatePair(Char, Char) metodo per determinare se si tratta di una coppia di surrogati.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          string surrogate = "\uD800\uDC03";
          for (int ctr = 0; ctr < surrogate.Length; ctr++) 
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate[ctr]));
    
          Console.WriteLine();
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate[0], surrogate[1]));
       }
    }
    // The example displays the following output:
    //       U+D800 U+DC03
    //          Is Surrogate Pair: True
    

In una stringa di caratteri sono rappresentati dalle unità di codice codificata UTF-16, che corrisponde a Char valori.

Ogni carattere in una stringa è una categoria di caratteri Unicode associata, che viene rappresentata in .NET Framework per il UnicodeCategory enumerazione. La categoria di un carattere o una coppia di surrogati può essere determinata chiamando il CharUnicodeInfo.GetUnicodeCategory metodo.

.NET Framework gestisce la propria tabella di caratteri e le rispettive categorie corrispondente, che assicura che una versione di .NET Framework in esecuzione su piattaforme diverse restituisce informazioni sulle categorie di caratteri identici. La tabella seguente elenca le versioni di .NET Framework e le versioni di Unicode Standard in cui sono in base alle categorie di caratteri.

Versione di .NET Framework

Versione dello Standard Unicode

.NET Framework 1.1

The Unicode Standard, Version 4.0.0

.NET Framework 2.0

The Unicode Standard, Version 5.0.0

.NET Framework 3.5

The Unicode Standard, Version 5.0.0

.NET Framework 4

The Unicode Standard, Version 5.0.0

.NET Framework 4.5

The Unicode Standard, Version 6.3.0

.NET Framework 4.5.1

The Unicode Standard, Version 6.3.0

.NET Framework 4.5.2

The Unicode Standard, Version 6.3.0

.NET Framework 4.6

The Unicode Standard, Version 6.3.0

.NET Framework 4.6.1

The Unicode Standard, Version 6.3.0

.NET Framework 4.6.2

The Unicode Standard, Version 8.0.0

Inoltre, .NET Framework supporta confronto tra stringhe e ordinamento in base allo standard Unicode. Nelle versioni di .NET Framework tramite il .NET Framework 4, .NET Framework gestisce la propria tabella di dati stringa. Ciò vale anche delle versioni di .NET Framework a partire dal .NET Framework 4.5 in esecuzione in Windows 7. A partire dal .NET Framework 4.5 i delegati di runtime in esecuzione in Windows 8 e versioni successive del sistema operativo Windows, stringa di confronto e ordinamento di operazioni al sistema operativo. La tabella seguente elenca le versioni di .NET Framework e le versioni dello Unicode Standard su quale carattere si basano confronto e ordinamento.

Versione di .NET Framework

Versione dello Standard Unicode

.NET Framework 1.1

The Unicode Standard, Version 4.0.0

.NET Framework 2.0

The Unicode Standard, Version 5.0.0

.NET Framework 3.5

The Unicode Standard, Version 5.0.0

.NET Framework 4

The Unicode Standard, Version 5.0.0

.NET Framework 4.5e versioni successive in Windows 7

The Unicode Standard, Version 5.0.0

.NET Framework 4.5e versioni successive in Windows 8 e versioni successive i sistemi operativi Windows

The Unicode Standard, Version 6.3.0

In .NET Framework, un String l'oggetto può includere caratteri null incorporati vengono contati come parte di lunghezza della stringa. Tuttavia, in alcune lingue, ad esempio C e C++, un carattere null indica la fine di una stringa, ma non viene considerato parte della stringa e non viene contato come parte della lunghezza della stringa. Ciò significa che i seguenti presupposti comuni che potrebbero risultare ai programmatori di C e C++ o in librerie scritte in C o C++ sulle stringhe non sono necessariamente validi quando applicato a String oggetti:

  • Il valore restituito dal strlen o wcslen funzioni non è necessariamente uguale String.Length.

  • La stringa creata mediante il strcpy_s o wcscpy_s funzioni non è necessariamente identico alla stringa creata dal String.Copy (metodo).

È necessario assicurarsi che C e C++ il codice nativo che crea un'istanza String oggetti e il codice che viene passato String oggetti mediante platform invoke, non presupporre che un carattere null incorporato contrassegna la fine della stringa.

Caratteri null incorporati in una stringa sono inoltre trattati in modo diverso quando è una stringa ordinata (o confrontata) e quando viene eseguita la ricerca di una stringa. Caratteri null vengono ignorati quando si eseguono confronti dipendenti dalle impostazioni cultura tra due stringhe, inclusi i confronti usando la lingua inglese. Vengono considerati solo per i confronti ordinali ordinali o tra maiuscole e minuscole. D'altra parte, i caratteri null incorporati vengono sempre considerati durante la ricerca di una stringa con metodi come Contains, StartsWith, e IndexOf.

Un indice è la posizione di un Char oggetto (non un carattere Unicode) in un String. Un indice è un numero non negativo in base zero che inizia dalla prima posizione nella stringa, ovvero la posizione di indice zero. Un numero di metodi di ricerca, ad esempio IndexOf e LastIndexOf, restituisce l'indice di un carattere o una sottostringa nell'istanza di stringa.

Il Chars proprietà consente di accedere a singoli Char oggetti in base alla posizione nella stringa di indice. Poiché il Chars è la proprietà predefinita (in Visual Basic) o l'indicizzatore (in c#), è possibile accedere ai singoli Char oggetti in una stringa utilizzando codice simile al seguente. Questo codice cerca gli spazi vuoti o punteggiatura in una stringa per determinare la stringa contiene il numero di parole.

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      for (int ctr = 0; ctr < s1.Length; ctr++) {
         if (Char.IsPunctuation(s1[ctr]) | Char.IsWhiteSpace(s1[ctr]))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.

Perché il String classe implementa il IEnumerable interfaccia, è anche possibile scorrere il Char oggetti in una stringa con un foreach costrutto, come illustrato nell'esempio seguente.

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      foreach (var ch in s1) {
         if (Char.IsPunctuation(ch) | Char.IsWhiteSpace(ch))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.

I valori di indice consecutive potrebbero non corrispondere ai caratteri Unicode consecutivi, dal momento che un carattere Unicode può essere codificato in più di un Char oggetto. In particolare, una stringa può contenere più caratteri unità di testo che sono costituite da un carattere di base seguito da uno o più caratteri di unione o da coppie di surrogati. Per utilizzare i caratteri Unicode anziché Char oggetti, utilizzare il System.Globalization.StringInfo e TextElementEnumerator classi. Nell'esempio seguente viene illustrata la differenza tra il codice che interagisce con Char oggetti e il codice che funziona con i caratteri Unicode. Confronta il numero di caratteri o elementi di testo di ogni parola di una frase. La stringa include due sequenze di un carattere di base seguiti da un carattere di combinazione.

using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // First sentence of The Mystery of the Yellow Room, by Leroux.
      string opening = "Ce n'est pas sans une certaine émotion que "+
                       "je commence à raconter ici les aventures " +
                       "extraordinaires de Joseph Rouletabille."; 
      // Character counters.
      int nChars = 0;
      // Objects to store word count.
      List<int> chars = new List<int>();
      List<int> elements = new List<int>();

      foreach (var ch in opening) {
         // Skip the ' character.
         if (ch == '\u0027') continue;

         if (Char.IsWhiteSpace(ch) | (Char.IsPunctuation(ch))) {
            chars.Add(nChars);
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      TextElementEnumerator te = StringInfo.GetTextElementEnumerator(opening);
      while (te.MoveNext()) {
         string s = te.GetTextElement();   
         // Skip the ' character.
         if (s == "\u0027") continue;
         if ( String.IsNullOrEmpty(s.Trim()) | (s.Length == 1 && Char.IsPunctuation(Convert.ToChar(s)))) {
            elements.Add(nChars);         
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      // Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters"); 
      for (int ctr = 0; ctr < chars.Count; ctr++) 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars[ctr], elements[ctr]); 
   }
}
// The example displays the following output:
//       Word #         Char Objects           Characters
//            0                    2                    2
//            1                    4                    4
//            2                    3                    3
//            3                    4                    4
//            4                    3                    3
//            5                    8                    8
//            6                    8                    7
//            7                    3                    3
//            8                    2                    2
//            9                    8                    8
//           10                    2                    1
//           11                    8                    8
//           12                    3                    3
//           13                    3                    3
//           14                    9                    9
//           15                   15                   15
//           16                    2                    2
//           17                    6                    6
//           18                   12                   12

In questo esempio funziona con elementi di testo utilizzando il StringInfo.GetTextElementEnumerator (metodo) e TextElementEnumerator classe per enumerare tutti gli elementi di testo in una stringa. È inoltre possibile recuperare una matrice che contiene l'indice iniziale di ogni elemento di testo chiamando il StringInfo.ParseCombiningCharacters metodo.

Per ulteriori informazioni sull'utilizzo di unità di testo anziché singoli Char valori, vedere la StringInfo classe.

È una stringa che è stata dichiarata ma non è stata assegnata un valore null. Il tentativo di chiamare metodi su quella stringa genera un NullReferenceException. Una stringa null è diversa da una stringa vuota, che è una stringa il cui valore è "" o String.Empty. In alcuni casi, passando una stringa null o una stringa vuota come argomento in una chiamata al metodo genera un'eccezione. Ad esempio, passare una stringa null per il Int32.Parse metodo genera un ArgumentNullExceptione passando una stringa vuota genera un FormatException. In altri casi, un argomento del metodo può essere una stringa null o una stringa vuota. Ad esempio, se si fornisce un IFormattable implementazione per una classe, che si desidera compensare sia una stringa null e una stringa vuota con l'identificatore di formato generale ("G").

Il String classe include i seguenti due metodi pratici che consentono di verificare se è una stringa null o vuoto:

  • IsNullOrEmpty, che indica se una stringa è null o è uguale a String.Empty. Questo metodo elimina la necessità di usare codice analogo al seguente:

    if (str == null || str.Equals(String.Empty))
    
  • IsNullOrWhiteSpace, che indica se una stringa è null, è uguale a String.Empty, o composto solo da spazi vuoti. Questo metodo elimina la necessità di usare codice analogo al seguente:

    if (str == null || str.Equals(String.Empty) || str.Trim().Equals(String.Empty))
    

L'esempio seguente usa il IsNullOrEmpty metodo il IFormattable.ToString implementazione di un oggetto personalizzato Temperature classe. Il metodo supporta le stringhe di formato "G", "C", "F" e "K". Se una stringa di formato vuoto o un formato stringa il cui valore è null viene passato al metodo, il valore viene modificato per la stringa di formato "G".

public string ToString(string format, IFormatProvider provider) 
{
   if (String.IsNullOrEmpty(format)) format = "G";  
   if (provider == null) provider = CultureInfo.CurrentCulture;

   switch (format.ToUpperInvariant())
   {
      // Return degrees in Celsius.    
      case "G":
      case "C":
         return temp.ToString("F2", provider) + "°C";
      // Return degrees in Fahrenheit.
      case "F": 
         return (temp * 9 / 5 + 32).ToString("F2", provider) + "°F";
      // Return degrees in Kelvin.
      case "K":   
         return (temp + 273.15).ToString();
      default:
         throw new FormatException(
               String.Format("The {0} format string is not supported.", 
                             format));
   }                                   
}

Oggetto String oggetto viene chiamato non modificabile (sola lettura), perché il relativo valore non può essere modificato dopo che è stato creato. Metodi che vengono visualizzati per modificare un String oggetto restituiscono in realtà un nuovo String oggetto che contiene la modifica.

Poiché le stringhe non sono modificabili, routine di modifica di stringhe che eseguono aggiunte o eliminazioni ripetute a quello che sembra essere che una singola stringa possa esatte una riduzione significativa delle prestazioni. Ad esempio, il codice seguente viene utilizzato un generatore di numeri casuali per creare una stringa con 1000 caratteri nell'intervallo 0x0001 a 0x052F. Anche se il codice sembra utilizzare concatenazione di stringhe per aggiungere un carattere di nuova stringa esistente denominata str, effettivamente crea un nuovo String oggetto per ogni operazione di concatenazione.

using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      string str = String.Empty;
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                           false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         str += Convert.ToChar(rnd.Next(1, 0x0530)); 
         if (str.Length % 60 == 0)
            str += Environment.NewLine;          
      }                    
      sw.Write(str);
      sw.Close();
   }
}

È possibile utilizzare il StringBuilder classe anziché la String classe per le operazioni che modificano più il valore di una stringa. A differenza delle istanze di String (classe), StringBuilder gli oggetti sono modificabili, quando si concatenano, aggiungere o eliminare sottostringhe da una stringa, le operazioni vengono eseguite su una singola stringa. Una volta terminata la modifica del valore di un StringBuilder dell'oggetto, è possibile chiamare il relativo StringBuilder.ToString metodo per convertirlo in una stringa. Nell'esempio seguente sostituisce il String utilizzato nell'esempio precedente per concatenare 1000 caratteri casuali nell'intervallo da 0x0001 a 0x052F con un StringBuilder oggetti.

using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      StringBuilder sb = new StringBuilder();
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                                         false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         sb.Append(Convert.ToChar(rnd.Next(1, 0x0530))); 
         if (sb.Length % 60 == 0)
            sb.AppendLine();          
      }                    
      sw.Write(sb.ToString());
      sw.Close();
   }
}

I membri del String classe operazioni ordinale o dipendenti dalle impostazioni cultura (linguistiche) su un String oggetti. Viene eseguita un'operazione ordinale al valore numerico di ogni Char oggetto. Un'operazione di distinzione delle impostazioni cultura, agisce sul valore della String, oggetto e maiuscole e minuscole delle impostazioni cultura specifiche accetta, ordinamento, la formattazione e le regole di analisi in considerazione. Operazioni dipendenti dalle impostazioni cultura vengono eseguite nel contesto di una lingua dichiarata in modo esplicito o implicita impostazioni cultura correnti. I due tipi di operazioni possono produrre risultati molto diversi quando vengono eseguiti sulla stessa stringa.

.NET Framework supporta anche le operazioni di stringhe linguistico indipendente dalle impostazioni cultura usando la lingua inglese (CultureInfo.InvariantCulture), che si basa fortemente alle impostazioni cultura della lingua inglese indipendente dell'area. A differenza degli altri System.Globalization.CultureInfo impostazioni, le impostazioni della lingua inglese è garantite per mantenere la coerenza in un singolo computer, dal sistema al sistema e in tutte le versioni di .NET Framework. Le impostazioni cultura invarianti possono essere considerata come un tipo di casella nera che assicura la stabilità dei confronti tra stringhe e ordinamento tra tutte le impostazioni cultura.

System_CAPS_security Sicurezza Nota

Se l'applicazione effettua una decisione di sicurezza su un identificatore simbolico, ad esempio un nome di file o sulla named pipe o sui dati persistenti, ad esempio i dati basati su testo in un file XML, l'operazione deve utilizzare un confronto ordinale anziché un confronto con distinzione delle impostazioni cultura. In questo modo un confronto con distinzione delle impostazioni cultura può restituire risultati diversi a seconda delle impostazioni cultura in effetti, mentre un confronto ordinale dipende esclusivamente dal valore binario dei caratteri confrontati.

System_CAPS_importantImportante

La maggior parte dei metodi che eseguono operazioni di stringa includono un overload che dispone di un parametro di tipo StringComparison, che consente di specificare se il metodo esegue un'operazione ordinale o dipendenti dalle impostazioni cultura. In generale, è necessario chiamare questo overload per rendere lo scopo del metodo di chiamata non crittografato. Per procedure consigliate e indicazioni per l'utilizzo di numeri ordinali e cultura operazioni sulle stringhe, vedere Procedure consigliate per l'utilizzo di stringhe in .NET Framework.

Operazioni per maiuscole e minuscole, l'analisi e formattazione, confronto e ordinamento, e la verifica dell'uguaglianza possono essere ordinali o dipendenti dalle impostazioni cultura. Le sezioni seguenti illustrano ogni categoria di operazione.

System_CAPS_tipSuggerimento

È sempre necessario chiamare un overload del metodo che effettua la finalità del metodo di chiamata non crittografato. Ad esempio, anziché chiamare il Compare(String, String) metodo per eseguire un confronto con distinzione delle impostazioni cultura di due stringhe utilizzando le convenzioni delle impostazioni cultura correnti, è necessario chiamare il Compare(String, String, StringComparison) metodo con un valore di StringComparison.CurrentCulture per il comparisonType argomento. Per altre informazioni, vedere Procedure consigliate per l'utilizzo di stringhe in .NET Framework.

Le regole di maiuscole e minuscole determinano come modificare le lettere maiuscole di un carattere Unicode; ad esempio, da minuscolo a maiuscolo. Spesso, prima di un confronto tra stringhe viene eseguita un'operazione di maiuscole e minuscole. Una stringa, ad esempio, potrebbe essere convertita in caratteri maiuscoli in modo che può essere confrontato con un'altra stringa in caratteri maiuscoli. È possibile convertire i caratteri in una stringa in minuscolo chiamando il ToLower o ToLowerInvariant metodo ed è possibile eseguirne la conversione in maiuscolo chiamando il ToUpper o ToUpperInvariant metodo. Inoltre, è possibile utilizzare il TextInfo.ToTitleCase metodo per convertire una stringa in maiuscole.

Le operazioni di maiuscole e minuscole possono essere basate sulle regole di impostazioni cultura correnti, impostazioni cultura specifiche o le impostazioni cultura invarianti. Poiché il mapping di maiuscole e può variare a seconda delle impostazioni cultura utilizzate, il risultato delle operazioni di maiuscole e minuscole può variare in base alle impostazioni cultura. L'effettive maiuscole e minuscole sono tre tipi:

  • Le differenze nel mapping di maiuscole dell'ALFABETO LATINO I (U + 0049), LATIN SMALL lettera I (U + 0069), LATIN CAPITAL LETTER I con punto sopra (U + 0130) e LATIN SMALL lettera punto I (U + 0131). Tr-TR (Turco (Turchia)) e le impostazioni cultura az-Latn-AZ (Azerbaigian, alfabeto latino), tr, az e az-Latn su impostazioni cultura, l'equivalente in caratteri minuscoli dell'ALFABETO LATINO I è LATIN SMALL lettera punto I ed è l'equivalente in caratteri maiuscoli dell'alfabeto LATINO SMALL lettera I LATIN CAPITAL LETTER I con punto sopra. In tutte le altre lingue, incluse le impostazioni cultura invarianti, LATIN SMALL lettera I e lettera latina a maiuscola I sono equivalenti in lettere minuscole e maiuscole.

    Nell'esempio seguente viene illustrato come un confronto tra stringhe progettato per impedire l'accesso al file system può non riuscire se si basa su un confronto tra maiuscole e minuscole delle impostazioni cultura. (Le convenzioni delle impostazioni cultura invarianti devono sono state utilizzate.)

    using System;
    using System.Globalization;
    using System.Threading;
    
    public class Example
    {
       const string disallowed = "file";
    
       public static void Main()
       {
          IsAccessAllowed(@"FILE:\\\c:\users\user001\documents\FinancialInfo.txt");
       }
    
       private static void IsAccessAllowed(String resource)
       {
          CultureInfo[] cultures = { CultureInfo.CreateSpecificCulture("en-US"),
                                     CultureInfo.CreateSpecificCulture("tr-TR") };
          String scheme = null;
          int index = resource.IndexOfAny( new Char[] { '\\', '/' } );
          if (index > 0) 
             scheme = resource.Substring(0, index - 1);
    
          // Change the current culture and perform the comparison.
          foreach (var culture in cultures) {
             Thread.CurrentThread.CurrentCulture = culture;
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName);
             Console.WriteLine(resource);
             Console.WriteLine("Access allowed: {0}", 
                               ! String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase));      
             Console.WriteLine();
          }   
       }
    }
    // The example displays the following output:
    //       Culture: English (United States)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: False
    //       
    //       Culture: Turkish (Turkey)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: True
    
  • Mapping di maiuscole e differenze tra le impostazioni cultura invarianti e tutte le altre impostazioni cultura. In questi casi, usando le regole di maiuscole e minuscole delle impostazioni cultura invarianti per modificare un carattere in maiuscolo o minuscolo restituisce lo stesso carattere. Per tutte le altre lingue, restituisce un carattere diverso. Nella tabella seguente sono elencati alcuni dei caratteri interessati.

    Carattere

    Se impostata su

    Valore restituito

    SIGN MICRON (U + 00B5)

    uppercase

    LETTERA GRECA MAIUSCOLA MU (U +-39C)

    LATINO CON PUNTO SOPRA (U + 0130)

    Minuscole

    LATINO (U + 0069)

    CARATTERE ALFABETO SI (U + 0131)

    uppercase

    LATINO (U + 0049)

    CARATTERE ALFABETO LATINO (U + 017F)

    uppercase

    LATIN CAPITAL LETTER S (U + 0053)

    LETTERA DI CAPITALE LATINO D CON Z ALFABETO LATINO (U + 01C 5)

    Minuscole

    CARATTERE ALFABETO LATINO LATINO (U + 01C 6)

    COMBINAZIONE YPOGEGRAMMENI GRECO (U + 0345)

    uppercase

    LETTERA GRECA MAIUSCOLA IOTA (U + 0399)

  • Differenze nel mapping di maiuscole e delle coppie di due lettere minuscole nell'intervallo di caratteri ASCII. La maggior parte delle impostazioni cultura, una coppia di due lettere maiuscole e minuscole è uguale alla coppia di caratteri maiuscola o minuscola due lettere equivalente. Ciò non è possibile per le seguenti coppie di due lettere nelle lingue seguenti, poiché in ogni caso di confronto per un digraph:

    • "lJ" e "nJ" nelle impostazioni cultura hr-HR (croato (Croazia)).

    • "cH" in cs-CZ (ceco (Repubblica ceca)) e le impostazioni cultura sk-SK (Slovacco (Slovacchia)).

    • "aA" nelle impostazioni cultura da-DK (danese (Danimarca)).

    • "cS", "dZ", "dZS", "nY", "sZ", "tY" e "zS" nelle impostazioni cultura hu-HU (ungherese (Ungheria)).

    • "cH" e "lL" nelle impostazioni cultura es-ES tradnl (spagnolo (Spagna-ordinamento tradizionale)).

    • "cH", "gI", "kH", "nG" "nH", "pH", "qU", "tH" e "tR" nelle impostazioni cultura vi-VN (vietnamita (Vietnam)).

    Tuttavia, è insolito che in una situazione in cui un confronto con distinzione delle impostazioni cultura di queste coppie crea problemi, perché queste coppie non sono comuni in stringhe fisse o identificatori.

L'esempio seguente illustra alcune delle differenze nelle regole di maiuscole e minuscole tra le impostazioni cultura per la conversione di stringhe in lettere maiuscole.

using System;
using System.Globalization;
using System.IO;

public class Example
{
   public static void Main()
   {
      StreamWriter sw = new StreamWriter(@".\case.txt");   
      string[] words = { "file", "sıfır", "Dženana" };
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"),  
                                 new CultureInfo("tr-TR") };

      foreach (var word in words) {
         sw.WriteLine("{0}:", word);
         foreach (var culture in cultures) {
            string name = String.IsNullOrEmpty(culture.Name) ? 
                                 "Invariant" : culture.Name;
            string upperWord = word.ToUpper(culture);
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord));

         }
         sw.WriteLine();  
      }
      sw.Close();
   }

   private static string ShowHexValue(string s)
   {
      string retval = null;
      foreach (var ch in s) {
         byte[] bytes = BitConverter.GetBytes(ch);
         retval += String.Format("{0:X2} {1:X2} ", bytes[1], bytes[0]);     
      }
      return retval;
   } 
}
// The example displays the following output:
//    file:
//        Invariant:    FILE               00 46 00 49 00 4C 00 45 
//            en-US:    FILE               00 46 00 49 00 4C 00 45 
//            tr-TR:    FİLE               00 46 01 30 00 4C 00 45 
//    
//    sıfır:
//        Invariant:   SıFıR         00 53 01 31 00 46 01 31 00 52 
//            en-US:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//            tr-TR:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//    
//    Dženana:
//        Invariant:  DžENANA   01 C5 00 45 00 4E 00 41 00 4E 00 41 
//            en-US:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 
//            tr-TR:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 

Formattazione e analisi sono operazioni inverse. Regole di formattazione determinano come convertire un valore, ad esempio una data e ora o un numero, nella relativa rappresentazione di stringa, mentre le regole di analisi determinano come convertire una rappresentazione di stringa in un valore, ad esempio una data e ora. La formattazione sia le regole di analisi sono dipendenti dalle convenzioni culturali. Nell'esempio seguente viene illustrata l'ambiguità che può verificarsi durante l'interpretazione di una stringa di data specifici delle impostazioni cultura. Senza conoscere le convenzioni delle impostazioni cultura che è stato utilizzato per produrre una stringa di data, non è possibile sapere se 01/03/2011, 03/01/2011 e 3/1/2011 rappresentano il 3 gennaio 2011 o il 1 marzo 2011.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2011, 3, 1);
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };

      foreach (var culture in cultures)
         Console.WriteLine("{0,-12} {1}", String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.ToString("d", culture));                                    
   }
}
// The example displays the following output:
//       Invariant    03/01/2011
//       en-US        3/1/2011
//       fr-FR        01/03/2011

Analogamente, come illustrato nell'esempio seguente, una singola stringa può produrre date diverse a seconda delle impostazioni cultura cui convenzioni vengono usate nell'operazione di analisi.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString = "07/10/2011";
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 CultureInfo.CreateSpecificCulture("en-GB"), 
                                 CultureInfo.CreateSpecificCulture("en-US") };
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}\n", "Date String", "Culture", 
                                                 "Month", "Day");
      foreach (var culture in cultures) {
         DateTime date = DateTime.Parse(dateString, culture);
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.Month, date.Day);
      }                      
   }
}
// The example displays the following output:
//       Date String     Culture    Month      Day
//       
//       07/10/2011    Invariant        7       10
//       07/10/2011        en-GB       10        7
//       07/10/2011        en-US        7       10

Convenzioni per il confronto e ordinamento delle stringhe variano alle impostazioni cultura. Ad esempio, il tipo di ordinamento può essere basato sulla fonetica o sulla rappresentazione visiva dei caratteri. In lingue dell'Asia orientale, i caratteri sono ordinati per il tratto e radicale di ideogrammi. Ordinamento dipende inoltre le lingue di ordine e utilizzano le impostazioni cultura per la lettera dell'alfabeto. Nella lingua danese, ad esempio, è presente un carattere "Æ" che viene ordinato alfabeticamente dopo la lettera Z. Inoltre, confronti possono essere tra maiuscole e minuscole o maiuscole/minuscole, e in alcuni casi le regole di maiuscole e minuscole anche differiscono dalle impostazioni cultura. Confronto ordinale, invece, utilizza i punti di codice Unicode dei singoli caratteri in una stringa quando il confronto e ordinamento delle stringhe.

Le regole di ordinamento determinano che l'ordine alfabetico dei caratteri Unicode e come due stringhe da confrontare a altro. Ad esempio, il String.Compare(String, String, StringComparison) metodo confronta due stringhe in base il StringComparison parametro. Se il valore del parametro StringComparison.CurrentCulture, il metodo esegue un confronto linguistico che utilizza le convenzioni delle impostazioni cultura correnti; se il valore del parametro StringComparison.Ordinal, il metodo esegue un confronto ordinale. Di conseguenza, come illustrato nell'esempio seguente, se le impostazioni cultura correnti sono US Inglese, la prima chiamata al String.Compare(String, String, StringComparison) (metodo) (mediante confronto con distinzione delle impostazioni cultura) considera "a" minore di "A", ma la seconda chiamata al metodo stesso (tramite un confronto ordinale) considera "a" maggiore di "A".

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture));
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       1
//       -32

.NET Framework supporta word, stringa e le regole di ordinamento:

  • Un ordinamento di word esegue un confronto con distinzione delle impostazioni cultura delle stringhe in cui alcuni caratteri Unicode potrebbero essere assegnati a tali di pesi speciali. Ad esempio, il trattino (-) potrebbe essere un peso molto piccolo assegnato in modo che "coop" e "co" vengono visualizzati uno accanto a altro in un elenco ordinato. Per un elenco di Stringmetodi che consentono di confrontare due stringhe utilizzando le regole di ordinamento di word, vedere il operazioni su stringhe in base alla categoria sezione.

  • Un ordinamento di stringa esegue inoltre un confronto con distinzione delle impostazioni cultura. È simile a un ordinamento di word, ad eccezione del fatto che esistono casi speciali e tutti i simboli non alfanumerici precedono a tutti i caratteri Unicode alfanumerici. Possibile confrontare due stringhe utilizzando le regole di ordinamento di stringa chiamando il CompareInfo.Compare gli overload di metodo che hanno un options parametro che viene fornito un valore di CompareOptions.StringSort. Si noti che questo è l'unico metodo che .NET Framework fornisce per confrontare due stringhe utilizzando le regole di ordinamento delle stringhe.

  • L'ordinamento ordinale confronta le stringhe in base al valore numerico di ogni Char oggetto nella stringa. Un confronto ordinale è automaticamente tra maiuscole e minuscole, perché le versioni maiuscole e minuscole di un carattere dispongono di punti di codice diversi. Tuttavia, se non è importante, è possibile specificare un confronto ordinale che ignori tale distinzione. Questo è equivalente alla conversione di una stringa in lettere maiuscole, usando la lingua inglese e quindi di eseguire un confronto ordinale al risultato. Per un elenco di String metodi che consentono di confrontare due stringhe utilizzando le regole di ordinamento ordinali, vedere il operazioni su stringhe in base alla categoria sezione.

Un confronto con distinzione delle impostazioni cultura è qualsiasi confronto che utilizza in modo esplicito o implicito un CultureInfo oggetto, incluse le impostazioni cultura invarianti specificati tramite il CultureInfo.InvariantCulture proprietà. Le impostazioni cultura implicite sono la lingua corrente, specificata dal Thread.CurrentCulture e CultureInfo.CurrentCulture proprietà. È variare notevolmente l'ordinamento dei caratteri alfabetici (ovvero i caratteri per il quale il Char.IsLetter restituisce proprietà true) nelle impostazioni cultura. È possibile specificare un confronto con distinzione delle impostazioni cultura che utilizza le convenzioni delle impostazioni cultura specifiche, fornendo un CultureInfo oggetto a un metodo di confronto di stringa, ad esempio Compare(String, String, CultureInfo, CompareOptions). È possibile specificare un confronto con distinzione delle impostazioni cultura che utilizza le convenzioni delle impostazioni cultura correnti fornendo StringComparison.CurrentCulture, StringComparison.CurrentCultureIgnoreCase, o qualsiasi membro del CompareOptions enumerazione diverso da CompareOptions.Ordinal o CompareOptions.OrdinalIgnoreCase a un overload appropriato del Compare metodo. Un confronto con distinzione delle impostazioni cultura è generalmente appropriato per l'ordinamento, mentre non è un confronto ordinale. Un confronto ordinale è generalmente appropriato per determinare se due stringhe sono uguali (ovvero, per determinare l'identità) che non è un confronto con distinzione delle impostazioni cultura.

Nell'esempio seguente viene illustrata la differenza tra confronto dipendenti dalle impostazioni cultura e ordinale. L'esempio restituisce tre stringhe "Apple", "Æble" e "AEble", utilizzando un confronto ordinale e le convenzioni delle impostazioni cultura da-DK ed en-US (ognuno dei quali è la lingua predefinita al momento il Compare metodo viene chiamato). Poiché la lingua danese considera il carattere "Æ" come una singola lettera e Ordina "Z" dopo la lettera dell'alfabeto, la stringa "Æble" è maggiore di "Apple". Tuttavia, "Æble" non è considerata equivalente a "AEble", "Æble" rappresenta anche maggiore di "AEble". Le impostazioni cultura en-US non includono la lettera "Æ", ma viene considerata equivalente a "AE", che spiega perché "Æble" è minore di "Apple" ma uguale a "AEble". Confronto ordinale, d'altra parte, considera "Apple" deve essere inferiore a "Æble" e "Æble" devono essere maggiori di "AEble".

using System;
using System.Globalization;
using System.Threading;

public class CompareStringSample
{
   public static void Main()
   {
      string str1 = "Apple";
      string str2 = "Æble"; 
      string str3 = "AEble";

      // Set the current culture to Danish in Denmark.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Set the current culture to English in the U.S.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Perform an ordinal comparison.
      Console.WriteLine("Ordinal comparison");
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, 
                        String.Compare(str1, str2, StringComparison.Ordinal));
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, 
                        String.Compare(str2, str3, StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       Current culture: da-DK
//       Comparison of Apple with Æble: -1
//       Comparison of Æble with AEble: 1
//       
//       Current culture: en-US
//       Comparison of Apple with Æble: 1
//       Comparison of Æble with AEble: 0
//       
//       Ordinal comparison
//       Comparison of Apple with Æble: -133
//       Comparison of Æble with AEble: 133

Utilizzare le seguenti linee guida generali per scegliere un metodo di confronto di ordinamento o di stringa appropriato:

  • Se si desidera, le stringhe devono essere ordinati in base alle impostazioni cultura dell'utente, è consigliabile ordinare in base alle convenzioni delle impostazioni cultura correnti. Se viene modificata la lingua dell'utente, l'ordine delle stringhe ordinate inoltre è in grado di modificare di conseguenza. Ad esempio, un'applicazione del thesaurus deve sempre ordinare parole in base alle impostazioni cultura dell'utente.

  • Se si desidera, le stringhe devono essere ordinati in base alle convenzioni delle impostazioni cultura specifiche, sarà necessario ordinare li fornendo un CultureInfo oggetto che rappresenta quelle impostazioni cultura per un metodo di confronto. Ad esempio, in un'applicazione progettata per illustrare gli studenti che una determinata lingua, si desidera stringhe devono essere ordinati in base alle convenzioni di una delle lingue che legge di tale lingua.

  • Se si desidera che l'ordine delle stringhe di mantenere invariate nelle impostazioni cultura, si deve ordinarle in base alle convenzioni della lingua inglese o utilizzare un confronto ordinale. Ad esempio, si utilizzerebbe un ordinamento ordinali per organizzare i nomi dei file, i processi, i mutex o named pipe.

  • Per un confronto che implica una decisione relativa alla sicurezza (ad esempio, se un nome utente è valido), è necessario eseguire sempre un ordinale nel test di uguaglianza chiamando un overload di Equals metodo.

System_CAPS_noteNota

Ordinamento delle impostazioni cultura e le regole di confronto tra stringhe usate di maiuscole e minuscole dipendono dalla versione di .NET Framework. Nel .NET Framework 4.5 eseguono il Windows 8 operativo di sistema, ordinamento, maiuscole e minuscole, della normalizzazione e informazioni di carattere Unicode è conforme allo standard Unicode 6.0. In altri sistemi operativi, è conforme allo standard Unicode 5.0.

Per ulteriori informazioni sulle regole di ordinamento ordinali, stringa e word, vedere il System.Globalization.CompareOptions argomento. Per ulteriori indicazioni su quando utilizzare ogni regola, vedere Procedure consigliate per l'utilizzo di stringhe in .NET Framework.

In genere, non si chiama stringa metodi di confronto come Compare direttamente per determinare l'ordinamento delle stringhe. Al contrario, i metodi di confronto vengono chiamati i metodi di ordinamento, ad esempio Array.Sort o List<T>.Sort. Nell'esempio seguente esegue quattro diverse le operazioni di ordinamento (ordinamento word utilizzando le impostazioni cultura correnti, ordinamento word usando la lingua inglese, ordinamento ordinali e ordinamento delle stringhe utilizzando la lingua inglese) senza chiamare in modo esplicito un metodo di confronto tra stringhe, sebbene specificano il tipo di confronto da utilizzare. Si noti che ogni tipo di ordinamento produce un ordinamento univoco delle stringhe nella matrice.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] strings = { "coop", "co-op", "cooperative", 
                           "co\u00ADoperative", "cœur", "coeur" };

      // Perform a word sort using the current (en-US) culture.
      string[] current = new string[strings.Length]; 
      strings.CopyTo(current, 0); 
      Array.Sort(current, StringComparer.CurrentCulture);

      // Perform a word sort using the invariant culture.
      string[] invariant = new string[strings.Length];
      strings.CopyTo(invariant, 0); 
      Array.Sort(invariant, StringComparer.InvariantCulture);

      // Perform an ordinal sort.
      string[] ordinal = new string[strings.Length];
      strings.CopyTo(ordinal, 0); 
      Array.Sort(ordinal, StringComparer.Ordinal);

      // Perform a string sort using the current culture.
      string[] stringSort = new string[strings.Length];
      strings.CopyTo(stringSort, 0); 
      Array.Sort(stringSort, new SCompare());

      // Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}\n", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort");
      for (int ctr = 0; ctr < strings.Length; ctr++)
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings[ctr], current[ctr], invariant[ctr], 
                           ordinal[ctr], stringSort[ctr] );          
   }
}

// IComparer<String> implementation to perform string sort.
internal class SCompare : IComparer<String>
{
   public int Compare(string x, string y)
   {
      return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort);
   }
}
// The example displays the following output:
//         Original     Word Sort  Invariant Word  Ordinal Sort   String Sort
//    
//             coop          cœur            cœur         co-op         co-op
//            co-op         coeur           coeur         coeur          cœur
//      cooperative          coop            coop          coop         coeur
//     co­operative         co-op           co-op   cooperative          coop
//             cœur   cooperative     cooperative  co­operative   cooperative
//            coeur  co­operative    co­operative          cœur  co­operative
System_CAPS_tipSuggerimento

Internamente,.NET Framework Usa chiavi di ordinamento per supportare il confronto di stringhe culturallysensitive. Ogni carattere in una stringa viene assegnato a varie categorie di ordinamenti, inclusi i caratteri alfabetici, case e segni diacritici. Una chiave di ordinamento, rappresentato dalla SortKey classe, fornisce un repository di questi fattori per una determinata stringa. Se l'app esegue un numero elevato di ricerca o le operazioni nello stesso set di stringhe di ordinamento, è possibile migliorare le prestazioni tramite la generazione e l'archiviazione delle chiavi di ordinamento per tutte le stringhe che utilizza. Quando viene richiesta un'operazione di confronto o di ordinamento, utilizzare le chiavi di ordinamento anziché le stringhe. Per altre informazioni, vedere la classe SortKey.

Se non si specifica una convenzione di confronto di stringhe, ordinamento, ad esempio Array.Sort(Array) eseguire un ordinamento con distinzione delle impostazioni cultura senza distinzione tra maiuscole e minuscole nelle stringhe. Nell'esempio seguente viene illustrato come modificare le impostazioni cultura correnti influisce sull'ordine di stringhe ordinate in una matrice. Crea una matrice di tre stringhe. Imposta innanzitutto il System.Threading.Thread.CurrentThread.CurrentCulture proprietà en-US e chiamate di Array.Sort(Array) metodo. L'ordinamento risultante è basato su convenzioni di ordinamento per le impostazioni cultura inglese (Stati Uniti). Successivamente, nell'esempio viene impostato il System.Threading.Thread.CurrentThread.CurrentCulture proprietà da-DK e chiamate di Array.Sort nuovo metodo. Si noti come l'ordinamento risultante è diverso dai risultati en-US, perché utilizza le convenzioni di ordinamento per il danese (Danimarca).

using System;
using System.Globalization;
using System.Threading;

public class ArraySort 
{
   public static void Main(String[] args) 
   {
      // Create and initialize a new array to store the strings.
      string[] stringArray = { "Apple", "Æble", "Zebra"};

      // Display the values of the array.
      Console.WriteLine( "The original string array:");
      PrintIndexAndValues(stringArray);

      // Set the CurrentCulture to "en-US".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Sort the values of the array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"en-US\":");
      PrintIndexAndValues(stringArray); 

      // Set the CurrentCulture to "da-DK".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      // Sort the values of the Array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"da-DK\":");
      PrintIndexAndValues(stringArray); 
   }
   public static void PrintIndexAndValues(string[] myArray)  
   {
      for (int i = myArray.GetLowerBound(0); i <= 
            myArray.GetUpperBound(0); i++ )
         Console.WriteLine("[{0}]: {1}", i, myArray[i]);
      Console.WriteLine();      
   }
}
// The example displays the following output:
//       The original string array:
//       [0]: Apple
//       [1]: Æble
//       [2]: Zebra
//       
//       After sorting for the "en-US" culture:
//       [0]: Æble
//       [1]: Apple
//       [2]: Zebra
//       
//       After sorting for the culture "da-DK":
//       [0]: Apple
//       [1]: Zebra
//       [2]: Æble
System_CAPS_warningAvviso

Se lo scopo primario nel confronto tra stringhe consiste nel determinare se sono uguali, è necessario chiamare il String.Equals metodo. In genere, è consigliabile utilizzare Equals per eseguire un confronto ordinale. Il String.Compare metodo è destinato principalmente per l'ordinamento delle stringhe.

Metodi di ricerca di stringhe, ad esempio String.StartsWith e String.IndexOf, può inoltre effettuare confronti tra stringhe dipendenti dalle impostazioni cultura o per ordinale. Nell'esempio seguente vengono illustrate le differenze tra i confronti ordinali e delle impostazioni cultura utilizzando il IndexOf metodo. Una ricerca dipendente dalla lingua in cui le impostazioni cultura correnti sono quelle inglesi (Stati Uniti) considera la sottostringa "oe" in modo che corrisponda alla legatura "œ". Poiché un segno meno facoltativo (U + 00AD) è un carattere a larghezza zero, la ricerca lo tratta come equivalente a Empty e trova una corrispondenza all'inizio della stringa. Una ricerca ordinale, d'altra parte, non viene trovata una corrispondenza in entrambi i casi.

using System;

public class Example
{
   public static void Main()
   {
      // Search for "oe" and "œu" in "œufs" and "oeufs".
      string s1 = "œufs";
      string s2 = "oeufs";
      FindInString(s1, "oe", StringComparison.CurrentCulture);
      FindInString(s1, "oe", StringComparison.Ordinal);
      FindInString(s2, "œu", StringComparison.CurrentCulture);
      FindInString(s2, "œu", StringComparison.Ordinal);
      Console.WriteLine();

      string s3 = "co\u00ADoperative";
      FindInString(s3, "\u00AD", StringComparison.CurrentCulture);
      FindInString(s3, "\u00AD", StringComparison.Ordinal);
   }

   private static void FindInString(string s, string substring, StringComparison options)
   {
      int result = s.IndexOf(substring, options);
      if (result != -1)
         Console.WriteLine("'{0}' found in {1} at position {2}", 
                           substring, s, result);
      else
         Console.WriteLine("'{0}' not found in {1}", 
                           substring, s);                                                  
   }
}
// The example displays the following output:
//       'oe' found in œufs at position 0
//       'oe' not found in œufs
//       'œu' found in oeufs at position 0
//       'œu' not found in oeufs
//       
//       '­' found in co­operative at position 0
//       '­' found in co­operative at position 2

Metodi di ricerca di stringhe, ad esempio String.StartsWith e String.IndexOf, può inoltre effettuare distinzione delle impostazioni cultura o confronti di stringhe ordinali per determinare se un carattere o una sottostringa è presente in una stringa specificata.

I metodi di ricerca nel String classe per l'individuazione di un singolo carattere, ad esempio ilIndexOf , metodo o un set di caratteri, ad esempio il IndexOfAny (metodo), eseguire una ricerca ordinale. Per eseguire una ricerca con distinzione delle impostazioni cultura per un carattere, è necessario chiamare un CompareInfo metodo, ad esempio CompareInfo.IndexOf(String, Char) o CompareInfo.LastIndexOf(String, Char). Si noti che i risultati della ricerca di un carattere mediante il confronto ordinale e delle impostazioni cultura possono essere molto diversi. Ad esempio, una ricerca di un carattere Unicode precomposto, ad esempio "æ" (U + 00 C 6) potrebbe corrispondere tutte le occorrenze dei relativi componenti nella sequenza corretta, ad esempio "AE" (U + 041U + 0045), a seconda delle impostazioni cultura. Nell'esempio seguente viene illustrata la differenza tra il String.IndexOf(Char) e CompareInfo.IndexOf(String, Char) metodi per la ricerca di un singolo carattere. Alfabeto "æ" (U + 00E6) viene trovato nella stringa "aereo" quando si utilizza le convenzioni delle impostazioni cultura en-US, ma non quando si usano le convenzioni delle impostazioni cultura da-DK o quando si esegue un confronto ordinale.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "da-DK", "en-US" };
      CompareInfo ci;
      String str = "aerial";
      Char ch = 'æ';  // U+00E6

      Console.Write("Ordinal comparison -- ");
      Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                        str.IndexOf(ch));

      foreach (var cultureName in cultureNames) {
         ci = CultureInfo.CreateSpecificCulture(cultureName).CompareInfo;
         Console.Write("{0} cultural comparison -- ", cultureName);
         Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                           ci.IndexOf(str, ch));
      }
   }
}
// The example displays the following output:
//       Ordinal comparison -- Position of 'æ' in aerial: -1
//       da-DK cultural comparison -- Position of 'æ' in aerial: -1
//       en-US cultural comparison -- Position of 'æ' in aerial: 0

D'altra parte, String metodi che eseguono la ricerca per una stringa anziché come un carattere eseguita una ricerca con distinzione delle impostazioni cultura, se le opzioni di ricerca non sono specificate in modo esplicito da un parametro di tipo della classe StringComparison. L'unica eccezione è Contains, che esegue una ricerca ordinale.

Utilizzare il String.Compare metodo per determinare la relazione tra due stringhe nell'ordinamento. In genere si tratta di un'operazione con distinzione delle impostazioni cultura. Chiamare invece il String.Equals metodo per verificare l'uguaglianza. Poiché il test di uguaglianza confronta in genere l'input dell'utente con alcune stringhe note, ad esempio un nome utente valido, una password o un percorso del file system, in genere è un'operazione ordinale.

System_CAPS_warningAvviso

È possibile verificare l'uguaglianza chiamando il String.Compare (metodo) e determinare se il valore restituito è zero. Tuttavia, questa procedura non è consigliata. Per determinare se due stringhe sono uguali, è necessario chiamare uno degli overload di String.Equals metodo. L'overload preferito da chiamare è l'istanza Equals(String, StringComparison) metodo o statica Equals(String, String, StringComparison) metodo, perché entrambi i metodi includono un System.StringComparison parametro che specifichi esplicitamente il tipo di confronto.

Nell'esempio seguente viene illustrato il rischio di eseguire un confronto con distinzione delle impostazioni cultura per verificarne l'uguaglianza quando un numero ordinale deve essere utilizzato invece. In questo caso, lo scopo del codice è impedire l'accesso al file system di URL che iniziano con "FILE://" o "file://" eseguendo un confronto senza distinzione dell'inizio di un URL con la stringa "FILE://". Tuttavia, se viene eseguito un confronto con distinzione delle impostazioni cultura utilizzando le impostazioni cultura Turco (Turchia) in un URL che inizia con "file://", il confronto di uguaglianza ha esito negativo, perché la lingua turca equivalente maiuscolo del carattere minuscolo "i" è "i" anziché "I". Di conseguenza, è consentito inavvertitamente accesso al file system. D'altra parte, se viene eseguito un confronto ordinale, il confronto di uguaglianza ha esito positivo e viene negato l'accesso al file system.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR");      

      string filePath = "file://c:/notes.txt";

      Console.WriteLine("Culture-sensitive test for equality:");
      if (! TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);

      Console.WriteLine("\nOrdinal test for equality:");
      if (! TestForEquality(filePath, StringComparison.OrdinalIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);
   }

   private static bool TestForEquality(string str, StringComparison cmp)
   {
      int position = str.IndexOf("://");
      if (position < 0) return false;

      string substring = str.Substring(0, position);  
      return substring.Equals("FILE", cmp);
   }
}
// The example displays the following output:
//       Culture-sensitive test for equality:
//       Access to file://c:/notes.txt is allowed.
//       
//       Ordinal test for equality:
//       Access to file://c:/notes.txt is not allowed.

Alcuni caratteri Unicode hanno più rappresentazioni. Uno dei punti di codice seguente, ad esempio, può rappresentare la lettera "ắ":

  • U + 1EAF

  • U + 0103 U + 0301

  • U + 0061 U + 0306 U + 0301

Più rappresentazioni di un singolo carattere complicano la ricerca, ordinamento, corrispondenza e altre operazioni sulle stringhe.

Lo standard Unicode definisce un processo denominato normalizzazione che restituisce una rappresentazione binaria di un carattere Unicode per le relative rappresentazioni binarie equivalenti. Normalizzazione è possibile utilizzare diversi algoritmi, denominati normalizzazione, che seguono regole diverse. .NET Framework supporta i formati di normalizzazione Unicode C, D, KC e KD. Quando le stringhe sono state normalizzate per lo stesso formato di normalizzazione, gli possono essere confrontati utilizzando il confronto ordinale.

Un confronto ordinale è un confronto binario del valore scalare Unicode del corrispondente Char oggetti in ciascuna stringa. LaString classe include una serie di metodi che è possibile eseguire un confronto ordinale, inclusi i seguenti:

È possibile determinare se una stringa è normalizzata in formato di normalizzazione C chiamando il String.IsNormalized() metodo, altrimenti è possibile chiamare il String.IsNormalized(NormalizationForm) metodo per determinare se una stringa è normalizzata in un formato di normalizzazione specificato. È inoltre possibile chiamare il String.Normalize() metodo per convertire una stringa in formato di normalizzazione C oppure è possibile chiamare il String.Normalize(NormalizationForm) metodo per convertire una stringa in un formato di normalizzazione specificato. Per informazioni dettagliate sulla normalizzazione e il confronto di stringhe, vedere il Normalize() e Normalize(NormalizationForm) metodi.

L'esempio seguente viene illustrata la normalizzazione di stringa. Definisce la lettera "ố" in tre modi diversi in tre diverse stringhe e utilizza un confronto ordinale per verificarne l'uguaglianza per determinare che ogni stringa differenze tra le due stringhe. Converte quindi ogni stringa ai moduli supportati di normalizzazione e nuovamente esegue un confronto ordinale di ogni stringa in un formato di normalizzazione specificato. In ogni caso, il secondo test per verificarne l'uguaglianza mostra che le stringhe sono uguali.

using System;
using System.Globalization;
using System.IO;
using System.Text;

public class Example
{
   private static StreamWriter sw;

   public static void Main()
   {
      sw = new StreamWriter(@".\TestNorm1.txt");

      // Define three versions of the same word. 
      string s1 = "sống";        // create word with U+1ED1
      string s2 = "s\u00F4\u0301ng";
      string s3 = "so\u0302\u0301ng";

      TestForEquality(s1, s2, s3);      
      sw.WriteLine();

      // Normalize and compare strings using each normalization form.
      foreach (string formName in Enum.GetNames(typeof(NormalizationForm)))
      {
         sw.WriteLine("Normalization {0}:\n", formName); 
         NormalizationForm nf = (NormalizationForm) Enum.Parse(typeof(NormalizationForm), formName);
         string[] sn = NormalizeStrings(nf, s1, s2, s3);
         TestForEquality(sn);           
         sw.WriteLine("\n");                                        
      }

      sw.Close();   
   }

   private static void TestForEquality(params string[] words)
   {
      for (int ctr = 0; ctr <= words.Length - 2; ctr++)
         for (int ctr2 = ctr + 1; ctr2 <= words.Length - 1; ctr2++) 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words[ctr], ShowBytes(words[ctr]),
                         words[ctr2], ShowBytes(words[ctr2]),
                         words[ctr].Equals(words[ctr2], StringComparison.Ordinal));
   }

   private static string ShowBytes(string str)
   {
      string result = null;
      foreach (var ch in str)
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")); 
      return result.Trim();            
   } 

   private static string[] NormalizeStrings(NormalizationForm nf, params string[] words)
   {
      for (int ctr = 0; ctr < words.Length; ctr++)
         if (! words[ctr].IsNormalized(nf))
            words[ctr] = words[ctr].Normalize(nf); 
      return words;   
   }
}
// The example displays the following output:
//       sống (0073 1ED1 006E 0067) = sống (0073 00F4 0301 006E 0067): False
//       sống (0073 1ED1 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       sống (0073 00F4 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       
//       Normalization FormC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       
//       
//       Normalization FormKC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormKD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True

Per ulteriori informazioni sulla normalizzazione e la normalizzazione, vedere System.Text.NormalizationForm, così come Unicode Standard Annex #15: Unicode Normalization Forms e Normalization FAQ nel sito Web www.Unicode.org.

Il String classe fornisce i membri per il confronto di stringhe, stringhe per verificarne l'uguaglianza di test, la ricerca di caratteri o sottostringhe in una stringa, la modifica di una stringa, l'estrazione di sottostringhe da una stringa, la combinazione di stringhe, la formattazione di valori, la copia di una stringa e normalizzazione di una stringa.

È possibile confrontare le stringhe per determinare la posizione relativa nell'ordinamento usando i seguenti Stringmetodi:

  • CompareRestituisce un intero che indica la relazione tra una stringa di due stringhe nell'ordinamento.

  • CompareOrdinalRestituisce un intero che indica la relazione tra una stringa in una stringa secondo basata su un confronto dei punti di codice.

  • CompareToRestituisce un intero che indica la relazione tra l'istanza corrente della stringa di due stringhe nell'ordinamento. Il CompareTo(String) metodo fornisce il IComparable e IComparable<T> implementazioni per le String classe.

Chiamare il Equals metodo per determinare se due stringhe sono uguali. L'istanza Equals(String, String, StringComparison) e statica Equals(String, StringComparison) overload consentono di specificare se il confronto è distinzione delle impostazioni cultura o per ordinale e se i case è considerato o ignorato. La maggior parte dei test di uguaglianza sono ordinali e i confronti di uguaglianza che determinano l'accesso a una risorsa di sistema (ad esempio un oggetto file system) devono essere sempre ordinale.

La String classe include due tipi di metodi di ricerca:

System_CAPS_warningAvviso

Se si desidera cercare una stringa per un modello specifico anziché una sottostringa specifica, utilizzare le espressioni regolari. Per altre informazioni, vedere Espressioni regolari di .NET Framework.

La String classe include i metodi seguenti che vengono visualizzati per modificare il valore di una stringa:

  • InsertInserisce una stringa in corrente String istanza.

  • PadLeftInserisce una o più occorrenze di un carattere specificato all'inizio di una stringa.

  • PadRightInserisce una o più occorrenze di un carattere specificato all'inizio di una stringa.

  • RemoveElimina una sottostringa da corrente String istanza.

  • Replacesostituisce una sottostringa con un'altra sottostringa nell'oggetto String istanza.

  • ToLowere ToLowerInvariant convertire tutti i caratteri in una stringa in caratteri minuscoli.

  • ToUppere ToUpperInvariant convertire tutti i caratteri in una stringa in caratteri maiuscoli.

  • TrimRimuove tutte le occorrenze di un carattere di inizio e alla fine di una stringa.

  • TrimEndRimuove tutte le occorrenze di un carattere dalla fine di una stringa.

  • TrimStartRimuove tutte le occorrenze di un carattere dall'inizio di una stringa.

System_CAPS_importantImportante

Tutti i metodi di modifica stringa restituiscono un nuovo String oggetto. Non modificare il valore dell'istanza corrente.

Il String.Split metodo suddivide una singola stringa in più stringhe. Gli overload del metodo consentono di specificare più delimitatori per determinare il numero massimo di sottostringhe che il metodo estrae e per determinare se le stringhe vuote (che si verificano quando i delimitatori sono adiacenti) sono incluse tra le stringhe restituite.

Le operazioni seguenti String metodi possono essere utilizzati per la concatenazione di stringhe:

  • ConcatConsente di combinare uno o più sottostringhe in una singola stringa.

  • JoinConcatena una o più sottostringhe in un singolo elemento e aggiunge un separatore tra ogni sottostringa.

Il String.Format metodo utilizza la funzionalità di formattazione composita per sostituire uno o più i segnaposto in una stringa con la rappresentazione di stringa di un oggetto o un valore. Il Format metodo viene spesso utilizzato per eseguire le operazioni seguenti:

  • Per incorporare la rappresentazione di stringa di un valore numerico in una stringa.

  • Per incorporare la rappresentazione di stringa di un valore di data e ora in una stringa.

  • Per incorporare la rappresentazione di stringa del valore di enumerazione in una stringa.

  • Per incorporare la rappresentazione di stringa di un oggetto che supporta il IFormattable interfaccia in una stringa.

  • Per giustificare a destra o giustificato a sinistra di una sottostringa in un campo all'interno di una stringa più grande.

Per informazioni dettagliate sulla formattazione di operazioni ed esempi, vedere il Format overload riepilogo.

È possibile chiamare le operazioni seguenti String metodi per creare una copia di una stringa:

  • CloneRestituisce un riferimento a un oggetto esistente String oggetto.

  • CopyCrea una copia di una stringa esistente.

  • CopyTocopia una parte di una stringa in una matrice di caratteri.

In formato Unicode, un singolo carattere può avere più punti di codice. Normalizzazione converte questi caratteri equivalenti in rappresentazione binaria stesso. Il String.Normalize metodo esegue la normalizzazione e String.IsNormalized metodo determina se una stringa è normalizzata.

Per ulteriori informazioni e un esempio, vedere il Normalization in precedenza in questo argomento.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1

Questo tipo è thread-safe.

Torna all'inizio
Mostra: