Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se si scrive un'applicazione che accetta l'input da un utente, non è mai possibile assicurarsi quale distinzione tra maiuscole e minuscole verrà usata per immettere i dati. Spesso si desidera che le stringhe vengano formattate in modo coerente, in particolare se visualizzate nell'interfaccia utente. Nella tabella seguente vengono descritti tre metodi di modifica delle maiuscole e minuscole. I primi due metodi forniscono un overload che accetta una cultura.
| Nome del metodo | Utilizzo |
|---|---|
| String.ToUpper | Converte tutti i caratteri in una stringa in maiuscolo. |
| String.ToLower | Converte tutti i caratteri in una stringa in lettere minuscole. |
| TextInfo.ToTitleCase | Converte una stringa in lettere maiuscole/minuscole del titolo. |
Avvertimento
I String.ToUpper metodi e String.ToLower non devono essere usati per convertire le stringhe per confrontarle o testarle per verificarne l'uguaglianza. Per altre informazioni, vedere la sezione Confrontare stringhe di maiuscole e minuscole miste .
Confrontare stringhe di caratteri in maiuscolo e minuscolo misti
Per confrontare stringhe in maiuscolo e minuscolo per determinare l'ordinamento, chiamare uno degli overload del metodo String.CompareTo con un parametro comparisonType e specificare il valore StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase o StringComparison.OrdinalIgnoreCase per l'argomento comparisonType. Per un confronto che utilizza un'impostazione cultura specifica diversa dall'impostazione corrente, chiamare un overload del metodo String.CompareTo con un parametro culture e un parametro options, e specificare un valore di CompareOptions.IgnoreCase come argomento options.
Per confrontare stringhe di vario tipo di maiuscole e minuscole per determinare se sono uguali, chiamare uno degli overload del metodo String.Equals con un parametro comparisonType e specificare il valore StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase o StringComparison.OrdinalIgnoreCase per l'argomento comparisonType.
Per altre informazioni, vedere Procedure consigliate per l'uso di stringhe.
Metodo ToUpper
Il String.ToUpper metodo modifica tutti i caratteri di una stringa in maiuscolo. L'esempio seguente converte la stringa "Hello World!" da minuscolo/maiuscolo a maiuscolo.
string properString = "Hello World!";
Console.WriteLine(properString.ToUpper());
// This example displays the following output:
// HELLO WORLD!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToUpper())
' This example displays the following output:
' HELLO WORLD!
L'esempio precedente è sensibile alla cultura per impostazione predefinita; applica le convenzioni di maiuscole e minuscole della cultura corrente. Per eseguire una modifica della capitalizzazione senza distinzione culturale o per applicare le convenzioni di capitalizzazione di una determinata cultura, utilizzare l'overload del metodo String.ToUpper(CultureInfo) e fornire un valore di CultureInfo.InvariantCulture o un oggetto System.Globalization.CultureInfo che rappresenta la cultura specificata al parametro culture. Per un esempio che illustra come usare il ToUpper metodo per eseguire un cambio di maiuscole/minuscole indipendentemente dalle impostazioni cultura, vedere Eseguire modifiche maiuscole/minuscole indipendentemente dalle impostazioni cultura.
Metodo ToLower
Il String.ToLower metodo è simile al metodo precedente, ma converte in minuscolo tutti i caratteri in una stringa. Nell'esempio seguente la stringa "Hello World!" viene convertita in minuscolo.
string properString = "Hello World!";
Console.WriteLine(properString.ToLower());
// This example displays the following output:
// hello world!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToLower())
' This example displays the following output:
' hello world!
L'esempio precedente è sensibile alla cultura per impostazione predefinita; applica le convenzioni di maiuscole e minuscole della cultura corrente. Per eseguire una modifica della capitalizzazione senza distinzione culturale o per applicare le convenzioni di capitalizzazione di una determinata cultura, utilizzare l'overload del metodo String.ToLower(CultureInfo) e fornire un valore di CultureInfo.InvariantCulture o un oggetto System.Globalization.CultureInfo che rappresenta la cultura specificata al parametro culture. Per un esempio che illustra come usare il ToLower(CultureInfo) metodo per eseguire un cambio di maiuscole/minuscole indipendentemente dalle impostazioni cultura, vedere Eseguire modifiche maiuscole/minuscole indipendentemente dalle impostazioni cultura.
Metodo ToTitleCase
TextInfo.ToTitleCase Converte il primo carattere di ogni parola in maiuscolo e i caratteri rimanenti in lettere minuscole. Tuttavia, si presuppone che le parole interamente maiuscole siano acronimi e non vengano convertite.
Il TextInfo.ToTitleCase metodo è sensibile alle impostazioni culturali, ovvero usa le convenzioni di formattazione delle maiuscole e minuscole di una determinata cultura. Per chiamare il metodo, per prima cosa recuperare l'oggetto TextInfo che rappresenta le convenzioni di maiuscole e minuscole di una cultura particolare dalla proprietà CultureInfo.TextInfo di una cultura particolare.
Nell'esempio seguente viene passata ogni stringa in una matrice al TextInfo.ToTitleCase metodo . Le stringhe includono correttamente i titoli e gli acronimi. Le stringhe vengono convertite in formato titolo usando le convenzioni di maiuscole e minuscole nella cultura inglese (Stati Uniti).
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] values = { "a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"};
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
foreach (var value in values)
Console.WriteLine($"{value} --> {ti.ToTitleCase(value)}");
}
}
// The example displays the following output:
// a tale of two cities --> A Tale Of Two Cities
// gROWL to the rescue --> Growl To The Rescue
// inside the US government --> Inside The US Government
// sports and MLB baseball --> Sports And MLB Baseball
// The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
// UNICEF and children --> UNICEF And Children
Imports System.Globalization
Module Example
Public Sub Main()
Dim values() As String = {"a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"}
Dim ti As TextInfo = CultureInfo.CurrentCulture.TextInfo
For Each value In values
Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value))
Next
End Sub
End Module
' The example displays the following output:
' a tale of two cities --> A Tale Of Two Cities
' gROWL to the rescue --> Growl To The Rescue
' inside the US government --> Inside The US Government
' sports and MLB baseball --> Sports And MLB Baseball
' The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
' UNICEF and children --> UNICEF And Children
Si noti che, sebbene sia sensibile alla cultura, il metodo TextInfo.ToTitleCase non fornisce regole linguisticamente corrette di maiuscole e minuscole. Ad esempio, nell'esempio precedente, il metodo converte "un racconto di due città" in "A Tale of Two Cities". Tuttavia, la combinazione di maiuscole e minuscole in lingua corretta per la cultura en-US è "A Tale of Two Cities".