Fornisce informazioni su impostazioni cultura specifiche, ovvero "impostazioni locali" per lo sviluppo di codice non gestito. Le informazioni includono i nomi per le impostazioni cultura, il sistema di scrittura, il calendario utilizzato e la formattazione per date e stringhe di ordinamento.
System.Globalization.CultureInfo
Spazio dei nomi: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class CultureInfo _ Implements ICloneable, IFormatProvider
[SerializableAttribute] [ComVisibleAttribute(true)] public class CultureInfo : ICloneable, IFormatProvider
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class CultureInfo : ICloneable, IFormatProvider
[<SerializableAttribute>] [<ComVisibleAttribute(true)>] type CultureInfo = class interface ICloneable interface IFormatProvider end
Il tipo CultureInfo espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
CultureInfo(Int32) | Inizializza una nuova istanza della classe CultureInfo in base alle impostazioni cultura specificate dall'identificatore delle impostazioni cultura. |
|
CultureInfo(String) | Inizializza una nuova istanza della classe CultureInfo in base alle impostazioni cultura specificate per nome. |
|
CultureInfo(Int32, Boolean) | Inizializza una nuova istanza della classe CultureInfo in base alle impostazioni cultura specificate dall'identificatore di impostazioni cultura e al valore Boolean che specifica se utilizzare le impostazioni cultura del sistema selezionate dall'utente. |
|
CultureInfo(String, Boolean) | Inizializza una nuova istanza della classe CultureInfo in base alle impostazioni cultura specificate per nome e al valore Boolean che indica se utilizzare le impostazioni cultura del sistema selezionate dall'utente. |
| Nome | Descrizione | |
|---|---|---|
|
Calendar | Ottiene il calendario predefinito utilizzato per le impostazioni cultura. |
|
CompareInfo | Ottiene l'oggetto CompareInfo che definisce come confrontare le stringhe per le impostazioni cultura. |
|
CultureTypes | Ottiene i tipi di impostazioni cultura che riguardano l'oggetto CultureInfo corrente. |
|
CurrentCulture | Ottiene l'oggetto CultureInfo che rappresenta le impostazioni cultura utilizzate dal thread corrente. |
|
CurrentUICulture | Ottiene l'oggetto CultureInfo che rappresenta le impostazioni cultura correnti utilizzate dal gestore risorse per cercare le risorse specifiche delle impostazioni cultura in fase di esecuzione. |
|
DateTimeFormat | Ottiene o imposta un oggetto DateTimeFormatInfo che definisce il formato culturalmente appropriato per la visualizzazione della data e dell'ora. |
|
DisplayName | Ottiene il nome delle impostazioni cultura nel formato "<lingua> (<paese>)" nella lingua della versione localizzata di .NET Framework. |
|
EnglishName | Ottiene il nome delle impostazioni cultura nel formato "<lingua> (<paese>)" in inglese. |
|
IetfLanguageTag | Obsoleta. Ottiene l'identificazione dello standard RFC 4646 per una lingua. |
|
InstalledUICulture | Ottiene l'oggetto CultureInfo che rappresenta le impostazioni cultura installate con il sistema operativo. |
|
InvariantCulture | Ottiene l'oggetto CultureInfo indipendente dalle impostazioni cultura. |
|
IsNeutralCulture | Ottiene un valore che indica se la classe CultureInfo corrente rappresenta impostazioni cultura non associate ad alcun paese. |
|
IsReadOnly | Ottiene un valore che indica se la classe CultureInfo corrente è in sola lettura. |
|
KeyboardLayoutId | Ottiene l'ID impostazioni locali di input attivo. |
|
LCID | Ottiene l'identificatore di impostazioni cultura per la classe CultureInfo corrente. |
|
Name | Ottiene il nome delle impostazioni cultura nel formato "<codicelingua2>-<codicepaese2>". |
|
NativeName | Ottiene il nome di impostazioni cultura, costituite da lingua, paese/provincia e indicatore alfabeto facoltativo, nella lingua impostata per la visualizzazione. |
|
NumberFormat | Ottiene o imposta un oggetto NumberFormatInfo che definisce il formato culturalmente appropriato per la visualizzazione di numeri, valute e percentuali. |
|
OptionalCalendars | Ottiene l'elenco dei calendari utilizzabili con le impostazioni cultura. |
|
Parent | Ottiene l'oggetto CultureInfo che rappresenta le impostazioni cultura padre dell'oggetto CultureInfo corrente. |
|
TextInfo | Ottiene l'oggetto TextInfo che definisce il sistema di scrittura associato alle impostazioni cultura. |
|
ThreeLetterISOLanguageName | Ottiene il codice ISO 639-2 di tre lettere per la lingua della classe CultureInfo corrente. |
|
ThreeLetterWindowsLanguageName | Ottiene il codice di tre lettere per la lingua così come è definito dall'API di Windows. |
|
TwoLetterISOLanguageName | Ottiene il codice ISO 639-1 di due lettere per la lingua della classe CultureInfo corrente. |
|
UseUserOverride | Ottiene un valore che indica se la classe CultureInfo corrente utilizza le impostazioni cultura selezionate dall'utente. |
| Nome | Descrizione | |
|---|---|---|
|
ClearCachedData | Aggiorna le informazioni relative alle impostazioni cultura memorizzate nella cache. |
|
Clone | Crea una copia della classe CultureInfo corrente. |
|
CreateSpecificCulture | Crea un oggetto CultureInfo che rappresenta le impostazioni cultura specifiche associate al nome specificato. |
|
Equals | Determina se l'oggetto specificato coincide con le stesse impostazioni cultura della classe CultureInfo corrente. (Esegue l'override di Object.Equals(Object)). |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
GetConsoleFallbackUICulture | Ottiene impostazioni cultura dell'interfaccia utente alternative adatte per le applicazioni di console quando le impostazioni cultura predefinite dell'interfaccia utente grafica non sono adatte. |
|
GetCultureInfo(Int32) | Recupera un'istanza di sola lettura e inserita nella cache di determinate impostazioni cultura utilizzando l'identificatore delle impostazioni cultura specificato. |
|
GetCultureInfo(String) | Recupera un'istanza di sola lettura e inserita nella cache di determinate impostazioni cultura utilizzando il nome delle impostazioni cultura specificato. |
|
GetCultureInfo(String, String) | Recupera un'istanza di sola lettura e inserita nella cache di determinate impostazioni cultura. I parametri specificano le impostazioni cultura inizializzate con gli oggetti TextInfo e CompareInfo specificati da altre impostazioni cultura. |
|
GetCultureInfoByIetfLanguageTag | Obsoleta. Recupera un oggetto CultureInfo di sola lettura con caratteristiche linguistiche identificate dal tag della lingua RFC 4646 specificato. |
|
GetCultures | Ottiene l'elenco delle impostazioni cultura supportate filtrate dal parametro CultureTypes specificato. |
|
GetFormat | Ottiene un oggetto che definisce le modalità di formattazione del tipo specificato. |
|
GetHashCode | Viene utilizzato come funzione hash per la classe CultureInfo corrente, adatto per algoritmi hash e in strutture di dati, come una tabella hash. (Esegue l'override di Object.GetHashCode()). |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
ReadOnly | Restituisce un wrapper in sola lettura per la classe CultureInfo specificata. |
|
ToString | Restituisce una stringa che contiene il nome della classe CultureInfo corrente nel formato "<codicelingua2>-<codicepaese2>". (Esegue l'override di Object.ToString()). |
La classe CultureInfo effettua il rendering delle informazioni su impostazioni cultura specifiche, quali le convenzioni associate a una lingua, alle relative varietà di lingua, al paese, al calendario e alla cultura. La classe fornisce inoltre l'accesso a istanze, specifiche delle impostazioni cultura, di DateTimeFormatInfo, NumberFormatInfo, CompareInfo e TextInfo. Questi oggetti contengono le informazioni necessarie per le operazioni specifiche delle impostazioni cultura, quali l'uso delle maiuscole e delle minuscole, la formattazione di date e numeri e il confronto tra stringhe.
La classe String utilizza in modo indiretto questa classe per ottenere informazioni sulle impostazioni cultura.
Nomi e identificatori delle impostazioni cultura
La classe CultureInfo specifica un nome univoco per qualsiasi tipo di impostazioni cultura, in base a RFC 4646 (Windows Vista e versioni successive). Il nome è una combinazione di un codice impostazioni cultura a due lettere minuscole ISO 639 associato a una lingua e un codice impostazioni cultura secondarie a due lettere maiuscole ISO 3166 associato a un paese.
Il formato del nome delle impostazioni cultura è "<codicelingua2>-<codicepaese2>", dove <codicelingua2> è il codice lingua e <codicepaese2> è il codice impostazioni cultura secondarie. Gli esempi includono ja-JP per il giapponese (Giappone) e en-US per l'inglese (Stati Uniti). Nei casi in cui non è disponibile un codice lingua a due lettere, viene utilizzato un codice a tre lettere derivato da ISO 639-2.
Si noti che alcuni nomi di impostazioni cultura specificano anche un alfabeto ISO 15924. Ad esempio, "- Cyrl" specifica l'alfabeto cirillico e "- Latn" l'alfabeto latino. In Windows Vista e versioni successive è possibile eseguire il rendering di un nome di impostazioni cultura che include un alfabeto utilizzando il modello <codicelingua2>-<tagalfabeto>-<codicepaese2>. Uno esempio di questo tipo di nome di impostazioni cultura è uz-Cyrl-UZ per l'uzbeco (Uzbekistan, alfabeto cirillico). Nei sistemi operativi precedenti a Windows Vista, per il rendering di un nome di impostazioni cultura che include un alfabeto viene utilizzato il modello <codicelingua2>-<codicepaese2>-<tagalfabeto>, ad esempio uz-UZ-Cyrl per l'uzbeco (Uzbekistan, alfabeto cirillico).
Le impostazioni cultura non associate ad alcun paese sono specificate solo dal codice lingua a due lettere minuscole. Ad esempio, "fr" specifica le impostazioni cultura non associate ad alcun paese per il francese e "de" quelle per il tedesco.
Nota
|
|---|
|
Due nomi di impostazioni cultura contraddicono tale regola. Le impostazioni cultura zh-Hans (Cinese semplificato) e zh-Hant (Cinese tradizionale) non sono associate ad alcun paese. I nomi delle impostazioni cultura rappresentano lo standard corrente e devono essere utilizzati a meno che non esistano ragioni particolari per utilizzare le denominazioni meno recenti "zh-CHS" e "zh-CHT". |
Un identificatore delle impostazioni cultura è un'abbreviazione numerica internazionale standard che contiene i componenti necessari per identificare in modo univoco una delle impostazioni cultura installate. L'applicazione può utilizzare identificatori delle impostazioni cultura predefiniti o può definire identificatori personalizzati.
Determinati nomi e identificatori predefiniti delle impostazioni cultura sono utilizzati da questa e da altre classi nello spazio dei nomi System.Globalization. Informazioni sulle impostazioni cultura dettagliate sono visualizzate nella pagina relativa al riferimento alle API NLS (National Language Support) del Developer Center sulla globalizzazione delle applicazioni.
Ricordare che i nomi delle impostazioni cultura e gli identificatori rappresentano solo un sottoinsieme delle impostazioni cultura che possono trovarsi in un particolare computer. Versioni di Windows o Service Pack possono modificare le impostazioni cultura disponibili. Le applicazioni aggiungono impostazioni cultura personalizzate utilizzando la classe CultureAndRegionInfoBuilder. Gli utenti aggiungono impostazioni cultura personalizzate utilizzando lo strumento generatore di impostazioni locali (Microsoft Locale Builder). Microsoft Locale Builder viene scritto in codice gestito utilizzando la classe CultureAndRegionInfoBuilder.
Molti nomi distinti sono strettamente associati alle impostazioni cultura, in particolare quelli associati ai seguenti membri di classe:
Vedere Nomi associati a un oggetto CultureInfo per informazioni sulla relazione fra questi nomi.
Lingua inglese, impostazioni cultura non associate ad alcun paese e specifiche
Le impostazioni cultura vengono in genere raggruppate in tre insiemi: lingua inglese, impostazioni cultura non associate ad alcun paese e specifiche.
La lingua inglese non dipende dalle impostazioni cultura. L'applicazione specifica la lingua inglese in base al nome tramite una stringa vuota ("") o in base al relativo identificatore. InvariantCulture consente di definire un'istanza della lingua inglese. Questa è associata alla lingua inglese, ma non a un paese particolare. Viene utilizzata praticamente in qualsiasi metodo, nello spazio dei nomi Globalization in cui sono necessarie le impostazioni cultura.
Le impostazioni cultura non associate ad alcun paese sono impostazioni cultura associate a una lingua ma non a un paese. Impostazioni cultura specifiche sono impostazioni cultura associate a una lingua e a un paese. Ad esempio, fr è il nome di sistema per le impostazioni cultura francesi e fr-FR è il nome delle impostazioni cultura specifiche del francese (Francia). Si noti che Cinese semplificato e Cinese tradizionale sono impostazioni cultura non associate ad alcun paese.
La creazione di un'istanza di una classe CompareInfo per impostazioni cultura non associate ad alcun paese è sconsigliata poiché i dati contenuti sono arbitrari. Per visualizzare e ordinare i dati, specificare la lingua e la regione. Inoltre, la proprietà Name di un oggetto CompareInfo creato per impostazioni cultura non associate ad alcun paese restituisce soltanto il paese e non include la regione.
Esiste una gerarchia di impostazioni cultura definite, in cui il padre di determinate impostazioni cultura rappresenta le impostazioni cultura non associate ad alcun paese e il padre di queste ultime rappresenta la lingua inglese. La proprietà Parent contiene le impostazioni cultura non associate ad alcun paese ma associate a impostazioni cultura specifiche. Nelle impostazioni cultura personalizzate è necessario definire la proprietà Parent conformemente a questo modello.
Se il sistema operativo non dispone di risorse per le impostazioni cultura specifiche, vengono utilizzate le risorse per le impostazioni cultura non associate ad alcun paese. Se non sono disponibili le risorse per le impostazioni cultura non associate ad alcun paese, vengono utilizzate le risorse per le impostazioni cultura incorporate nell'assembly principale. Per ulteriori informazioni sul processo di fallback delle risorse, vedere Creazione del package e distribuzione delle risorse.
L'elenco di impostazioni locali disponibile nell'API Windows è leggermente diverso dall'elenco delle impostazioni cultura supportate da .NET Framework. Se è necessaria l'interoperabilità con Windows, ad esempio attraverso il meccanismo p/invoke, l'applicazione deve utilizzare impostazioni cultura specifiche, definite per il sistema operativo. Utilizzando le impostazioni cultura specifiche si garantirà la coerenza con le equivalenti impostazioni locali di Windows, identificate dallo stesso ID impostazioni locali della proprietà LCID.
Un oggetto DateTimeFormatInfo o NumberFormatInfo può essere creato solo per la lingua inglese o per le impostazioni cultura specifiche, non per le impostazioni cultura non associate ad alcun paese.
Se la proprietà DateTimeFormatInfo.Calendar è impostata sull'oggetto TaiwanCalendar, ma la proprietà Thread.CurrentCulture non è impostata su "zh-TW", la proprietà DateTimeFormatInfo.NativeCalendarName e i metodi DateTimeFormatInfo.GetEraName e DateTimeFormatInfo.GetAbbreviatedEraName restituiranno una stringa vuota ("").
Impostazioni cultura personalizzate
Per preparare il software a gestire impostazioni cultura personalizzate, si considerino gli elementi seguenti:
-
Le impostazioni cultura personalizzate possono avere valori che superano gli intervalli delle impostazioni cultura fornite da Microsoft. Ad esempio, alcune impostazioni cultura hanno nomi dei mesi insolitamente lunghi, formati imprevisti per data e ora, o altri dati insoliti.
-
Rispettare i valori dei dati delle impostazioni cultura dell'utente; ad esempio, l'utente potrebbe desiderare un formato ora del tipo a 24 ore o un formato data del tipo YYYYMMDD.
-
Si ricordi che le impostazioni cultura personalizzate eseguono l'override dei valori predefiniti. Pertanto, non è possibile considerare stabili i dati delle impostazioni cultura. I nomi dei paesi, i formati della data, le ortografie ecc., verranno probabilmente modificati in futuro. Se l'applicazione deve serializzare utilizzando questi dati, come per le funzioni di formattazione e di analisi DateTime, deve utilizzare la lingua inglese o un formato specifico.
Dati dinamici delle impostazioni cultura
Ad eccezione della lingua inglese, i dati delle impostazioni cultura sono dinamici. Questo vale anche per le impostazioni cultura predefinite. Ad esempio, quando in un paese viene adottata una nuova valuta, viene modificata l'ortografia delle parole o viene cambiato il calendario preferito, le definizioni delle impostazioni cultura cambiano per adeguarsi a tali novità. Le impostazioni cultura personalizzate sono soggette a modifica senza preavviso e qualsiasi impostazioni cultura specifiche potrebbero essere sottoposte a override da impostazioni cultura di sostituzione personalizzate. Come illustrato di seguito, inoltre, un singolo utente può eseguire l'override di preferenze relative alla lingua. In fase di esecuzione, le applicazioni devono ottenere sempre i dati delle impostazioni cultura.
Attenzione
|
|---|
|
Durante il salvataggio dei dati, l'applicazione deve utilizzare la lingua inglese, un formato binario o un formato specifico indipendente dalle impostazioni cultura. I dati salvati in base ai valori correnti associati a impostazioni cultura specifiche diverse dalla lingua inglese potrebbero diventare illeggibili o cambiare significato in caso di modifica di tali impostazioni. |
Serializzazione di un oggetto CultureInfo
La serializzazione di un oggetto CultureInfo implica in realtà l'archiviazione delle proprietà Name e UseUserOverride. L'oggetto può pertanto essere deserializzato correttamente solo in un ambiente in cui la proprietà Name ha lo stesso significato. Nei tre esempi riportati di seguito vengono illustrati i motivi per i quali ciò non è sempre possibile:
-
Se la proprietà CultureTypes indica CultureTypes.WindowsOnlyCultures e se tali impostazioni cultura sono state introdotte per la prima volta in Windows Vista, non sarà possibile deserializzarle in Windows XP. Analogamente, se le impostazioni cultura sono state introdotte per la prima volta in Windows XP Service Pack 2, non è possibile deserializzarle per un sistema Windows XP in cui le impostazioni cultura non sono state installate.
-
Se la proprietà CultureTypes indica CultureTypes.UserCustomCulture e nel computer in cui viene deserializzata non sono installate tali impostazioni cultura personalizzate dall'utente, non è possibile deserializzarla.
-
Se la proprietà CultureTypes indica CultureTypes.ReplacementCultures e nel computer in cui viene deserializzata non sono disponibili tali impostazioni cultura di sostituzione, verrà deserializzata con lo stesso nome ma non con tutte le stesse caratteristiche. Ad esempio, se "en-US" sono impostazioni cultura di sostituzione nel computer A ma non nel computer B e se un oggetto CultureInfo che fa riferimento a queste impostazioni cultura viene serializzato nel computer A e deserializzato nel computer B, non verrà trasmessa nessuna delle caratteristiche personalizzate delle impostazioni cultura. Le impostazioni cultura vengono deserializzate correttamente, ma il significato sarà diverso.
Impostazioni locali di Windows
A partire dalla versione 2.0 di .NET Framework, il costruttore CultureInfo supporta l'utilizzo delle impostazioni locali di Windows, ovvero le impostazioni cultura, per generare automaticamente impostazioni cultura non esistenti in .NET Framework. Per ulteriori informazioni, vedere Impostazioni cultura generate dalle impostazioni locali di Windows.
Override del Pannello di controllo
L'utente può scegliere di eseguire l'override di alcuni valori associati alle impostazioni cultura correnti di Windows utilizzando la sezione Opzioni internazionali e della lingua nel Pannello di controllo. L'utente, ad esempio, può scegliere di visualizzare la data in un formato diverso o di utilizzare una valuta diversa da quella predefinita per le impostazioni cultura specificate. In generale, le applicazioni devono rispettare questi override dell'utente.
Se la proprietà UseUserOverride è true e le impostazioni cultura specificate corrispondono alle impostazioni cultura correnti di Windows, la classe CultureInfo consentirà di utilizzare tali override, incluse le impostazioni dell'utente per le proprietà dell'istanza di DateTimeFormatInfo restituita dalla proprietà DateTimeFormat e le proprietà dell'istanza di NumberFormatInfo restituita dalla proprietà NumberFormat. Se le impostazioni utente non sono compatibili con le impostazioni cultura associate alla classe CultureInfo, ad esempio, nel caso in cui il calendario selezionato non fa parte dei calendari specificati dalla proprietà OptionalCalendars, i risultati dei metodi e i valori delle proprietà sono indefiniti.
Per le impostazioni cultura che utilizzano l'euro, la valuta predefinita in .NET Framework e Windows XP è impostata sull'euro. Tale impostazione non viene tuttavia adottata nelle versioni precedenti di Windows. Di conseguenza, se l'utente di una versione precedente di Windows non ha modificato la valuta tramite le Opzioni internazionali e della lingua nel Pannello di controllo, la valuta potrebbe non essere corretta. Per utilizzare l'impostazione predefinita di .NET Framework per la valuta, l'applicazione deve utilizzare un overload del costruttore di CultureInfo che accetta un parametro useUserOverride e impostarlo su false.
Ordinamenti alternativi
Le impostazioni cultura spagnole (Spagna) prevede due identificatori di impostazioni cultura, 0x0C0A che utilizza l'ordinamento internazionale predefinito e 0x040A che utilizza l'ordinamento tradizionale. Se l'oggetto CultureInfo viene costruito utilizzando il nome delle impostazioni cultura es-ES, il nuovo oggetto CultureInfo utilizzerà l'ordinamento internazionale predefinito. Per l'ordinamento tradizionale, l'oggetto viene costruito tramite il nome es-ES_tradnl. Per ulteriori informazioni su altre impostazioni cultura con ordinamenti alternativi, vedere Confronto e ordinamento di dati per specifiche impostazioni cultura.
Interfacce implementate
Questa classe implementa l'interfaccia ICloneable per consentire la duplicazione degli oggetti della classe CultureInfo. Implementa inoltre IFormatProvider per fornire funzioni di formattazione delle informazioni alle applicazioni.
Impostazioni cultura, thread e domini applicazione
Esistono considerazioni univoche quando si utilizza un thread associato a un oggetto CultureInfo. Per ulteriori informazioni sulle impostazioni cultura e i domini applicazione, vedere Domini applicazione e thread.
Nell'esempio di codice riportato di seguito viene illustrata la creazione di un oggetto CultureInfo per Spagnolo (Spagna) con l'ordinamento internazionale e di un altro oggetto CultureInfo con l'ordinamento tradizionale.
Imports System Imports System.Collections Imports System.Globalization Module Module1 Public Sub Main() ' Creates and initializes the CultureInfo which uses the international sort. Dim myCIintl As New CultureInfo("es-ES", False) ' Creates and initializes the CultureInfo which uses the traditional sort. Dim myCItrad As New CultureInfo(&H40A, False) ' Displays the properties of each culture. Console.WriteLine("{0,-31}{1,-47}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL") Console.WriteLine("{0,-31}{1,-47}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Name", myCIintl.Name, myCItrad.Name) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName) Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName) Console.WriteLine() ' Compare two strings using myCIintl. Console.WriteLine("Comparing ""llegar"" and ""lugar""") Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare("llegar", "lugar")) Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare("llegar", "lugar")) End Sub 'Main 'This code produces the following output. ' 'PROPERTY INTERNATIONAL TRADITIONAL 'CompareInfo CompareInfo - es-ES CompareInfo - es-ES_tradnl 'DisplayName Spanish (Spain) Spanish (Spain) 'EnglishName Spanish (Spain, International Sort) Spanish (Spain, Traditional Sort) 'IsNeutralCulture False False 'IsReadOnly False False 'LCID 3082 1034 'Name es-ES es-ES 'NativeName Español (España, alfabetización internacional) Español (España, alfabetización tradicional) 'Parent es es 'TextInfo TextInfo - es-ES TextInfo - es-ES_tradnl 'ThreeLetterISOLanguageName spa spa 'ThreeLetterWindowsLanguageName ESN ESP 'TwoLetterISOLanguageName es es ' 'Comparing "llegar" and "lugar" ' With myCIintl.CompareInfo.Compare: -1 ' With myCItrad.CompareInfo.Compare: 1 End Module
using System; using System.Collections; using System.Globalization; public class SamplesCultureInfo { public static void Main() { // Creates and initializes the CultureInfo which uses the international sort. CultureInfo myCIintl = new CultureInfo("es-ES", false); // Creates and initializes the CultureInfo which uses the traditional sort. CultureInfo myCItrad = new CultureInfo(0x040A, false); // Displays the properties of each culture. Console.WriteLine("{0,-31}{1,-47}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL"); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Name", myCIintl.Name, myCItrad.Name); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName); Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName); Console.WriteLine(); // Compare two strings using myCIintl. Console.WriteLine("Comparing \"llegar\" and \"lugar\""); Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare("llegar", "lugar")); Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare("llegar", "lugar")); } } /* This code produces the following output. PROPERTY INTERNATIONAL TRADITIONAL CompareInfo CompareInfo - es-ES CompareInfo - es-ES_tradnl DisplayName Spanish (Spain) Spanish (Spain) EnglishName Spanish (Spain, International Sort) Spanish (Spain, Traditional Sort) IsNeutralCulture False False IsReadOnly False False LCID 3082 1034 Name es-ES es-ES NativeName Español (España, alfabetización internacional) Español (España, alfabetización tradicional) Parent es es TextInfo TextInfo - es-ES TextInfo - es-ES_tradnl ThreeLetterISOLanguageName spa spa ThreeLetterWindowsLanguageName ESN ESP TwoLetterISOLanguageName es es Comparing "llegar" and "lugar" With myCIintl.CompareInfo.Compare: -1 With myCItrad.CompareInfo.Compare: 1 */
using namespace System; using namespace System::Collections; using namespace System::Globalization; int main() { // Creates and initializes the CultureInfo which uses the international sort. CultureInfo^ myCIintl = gcnew CultureInfo( "es-ES",false ); // Creates and initializes the CultureInfo which uses the traditional sort. CultureInfo^ myCItrad = gcnew CultureInfo( 0x040A,false ); // Displays the properties of each culture. Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "CompareInfo", myCIintl->CompareInfo, myCItrad->CompareInfo ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "DisplayName", myCIintl->DisplayName, myCItrad->DisplayName ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "EnglishName", myCIintl->EnglishName, myCItrad->EnglishName ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "IsNeutralCulture", myCIintl->IsNeutralCulture, myCItrad->IsNeutralCulture ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "IsReadOnly", myCIintl->IsReadOnly, myCItrad->IsReadOnly ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "LCID", myCIintl->LCID, myCItrad->LCID ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "Name", myCIintl->Name, myCItrad->Name ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "NativeName", myCIintl->NativeName, myCItrad->NativeName ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "Parent", myCIintl->Parent, myCItrad->Parent ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "TextInfo", myCIintl->TextInfo, myCItrad->TextInfo ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "ThreeLetterISOLanguageName", myCIintl->ThreeLetterISOLanguageName, myCItrad->ThreeLetterISOLanguageName ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl->ThreeLetterWindowsLanguageName, myCItrad->ThreeLetterWindowsLanguageName ); Console::WriteLine( "{0,-31}{1,-47}{2,-25}", "TwoLetterISOLanguageName", myCIintl->TwoLetterISOLanguageName, myCItrad->TwoLetterISOLanguageName ); Console::WriteLine(); // Compare two strings using myCIintl -> Console::WriteLine( "Comparing \"llegar\" and \"lugar\"" ); Console::WriteLine( " With myCIintl -> CompareInfo -> Compare: {0}", myCIintl->CompareInfo->Compare( "llegar", "lugar" ) ); Console::WriteLine( " With myCItrad -> CompareInfo -> Compare: {0}", myCItrad->CompareInfo->Compare( "llegar", "lugar" ) ); } /* This code produces the following output. PROPERTY INTERNATIONAL TRADITIONAL CompareInfo CompareInfo - es-ES CompareInfo - es-ES_tradnl DisplayName Spanish (Spain) Spanish (Spain) EnglishName Spanish (Spain, International Sort) Spanish (Spain, Traditional Sort) IsNeutralCulture False False IsReadOnly False False LCID 3082 1034 Name es-ES es-ES NativeName Español (España, alfabetización internacional) Español (España, alfabetización tradicional) Parent es es TextInfo TextInfo - es-ES TextInfo - es-ES_tradnl ThreeLetterISOLanguageName spa spa ThreeLetterWindowsLanguageName ESN ESP TwoLetterISOLanguageName es es Comparing "llegar" and "lugar" With myCIintl -> CompareInfo -> Compare: -1 With myCItrad -> CompareInfo -> Compare: 1 */
Nell'esempio di codice che segue vengono determinate le impostazioni cultura padre delle singole impostazioni cultura specifiche che utilizzano la lingua cinese.
Nota
|
|---|
|
Nell'esempio vengono illustrati i nomi delle impostazioni cultura zh-CHS e zh-CHT con gli identificatori d'impostazione cultura 0x0004 e 0x7C04, rispettivamente. Tuttavia, le applicazioni Windows Vista devono utilizzare il nome zh-Hans anziché zh-CHS e il nome zh-Hant anziché zh-CHT. I nomi "zh-Hans" e "zh-Hant rappresentano lo standard corrente e devono essere utilizzati, a meno che non esistano ragioni particolari per utilizzare le denominazioni meno recenti. |
Imports System Imports System.Globalization Module Module1 Public Sub Main() ' Prints the header. Console.WriteLine("SPECIFIC CULTURE PARENT CULTURE") ' Determines the specific cultures that use the Chinese language, and displays the parent culture. Dim ci As CultureInfo For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures) If ci.TwoLetterISOLanguageName = "zh" Then Console.Write("0x{0} {1} {2,-40}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName) Console.WriteLine("0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName) End If Next ci End Sub 'Main 'This code produces the following output. ' 'SPECIFIC CULTURE PARENT CULTURE '0x0404 zh-TW Chinese (Traditional, Taiwan) 0x7C04 zh-CHT Chinese (Traditional) Legacy '0x0804 zh-CN Chinese (Simplified, PRC) 0x0004 zh-CHS Chinese (Simplified) Legacy '0x0C04 zh-HK Chinese (Traditional, Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy '0x1004 zh-SG Chinese (Simplified, Singapore) 0x0004 zh-CHS Chinese (Simplified) Legacy '0x1404 zh-MO Chinese (Traditional, Macao S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy End Module
using System; using System.Globalization; public class SamplesCultureInfo { public static void Main() { // Prints the header. Console.WriteLine("SPECIFIC CULTURE PARENT CULTURE"); // Determines the specific cultures that use the Chinese language, and displays the parent culture. foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.SpecificCultures)) { if (ci.TwoLetterISOLanguageName == "zh") { Console.Write("0x{0} {1} {2,-40}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName); Console.WriteLine("0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName); } } } } /* This code produces the following output. SPECIFIC CULTURE PARENT CULTURE 0x0404 zh-TW Chinese (Traditional, Taiwan) 0x7C04 zh-CHT Chinese (Traditional) Legacy 0x0804 zh-CN Chinese (Simplified, PRC) 0x0004 zh-CHS Chinese (Simplified) Legacy 0x0C04 zh-HK Chinese (Traditional, Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy 0x1004 zh-SG Chinese (Simplified, Singapore) 0x0004 zh-CHS Chinese (Simplified) Legacy 0x1404 zh-MO Chinese (Traditional, Macao S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy */
using namespace System; using namespace System::Globalization; int main() { // Prints the header. Console::WriteLine( "SPECIFIC CULTURE PARENT CULTURE" ); // Determines the specific cultures that use the Chinese language, // and displays the parent culture. System::Collections::IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator(); while ( en->MoveNext() ) { CultureInfo^ ci = safe_cast<CultureInfo^>(en->Current); if ( ci->TwoLetterISOLanguageName->Equals( "zh" ) ) { Console::Write( "0x{0} {1} {2,-40}", ci->LCID.ToString( "X4" ), ci->Name, ci->EnglishName ); Console::WriteLine( "0x{0} {1} {2}", ci->Parent->LCID.ToString( "X4" ), ci->Parent->Name, ci->Parent->EnglishName ); } } } /* This code produces the following output. SPECIFIC CULTURE PARENT CULTURE 0x0404 zh-TW Chinese (Traditional, Taiwan) 0x7C04 zh-CHT Chinese (Traditional) Legacy 0x0804 zh-CN Chinese (Simplified, PRC) 0x0004 zh-CHS Chinese (Simplified) Legacy 0x0C04 zh-HK Chinese (Traditional, Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy 0x1004 zh-SG Chinese (Simplified, Singapore) 0x0004 zh-CHS Chinese (Simplified) Legacy 0x1404 zh-MO Chinese (Traditional, Macao S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) Legacy */
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Supportato in:
Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota
Attenzione