RegionInfo Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe RegionInfo.
Overload
| Nome | Descrizione |
|---|---|
| RegionInfo(Int32) |
Inizializza una nuova istanza della RegionInfo classe in base al paese/area geografica associato all'identificatore delle impostazioni cultura specificato. |
| RegionInfo(String) |
Inizializza una nuova istanza della RegionInfo classe in base al paese o all'area geografica o alle impostazioni cultura specifiche, specificate per nome. |
RegionInfo(Int32)
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
Inizializza una nuova istanza della RegionInfo classe in base al paese/area geografica associato all'identificatore delle impostazioni cultura specificato.
public:
RegionInfo(int culture);
public RegionInfo(int culture);
new System.Globalization.RegionInfo : int -> System.Globalization.RegionInfo
Public Sub New (culture As Integer)
Parametri
- culture
- Int32
Identificatore delle impostazioni cultura.
Eccezioni
culture specifica impostazioni cultura invarianti, personalizzate o neutre.
oppure
Solo .NET 6+: la modalità invariante globalizzazione è abilitata nell'ambiente.
Esempio
Nell'esempio di codice seguente vengono confrontate due istanze di RegionInfo create in modo diverso.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo myRI1 = new RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
// Compares the two instances.
if ( myRI1.Equals( myRI2 ) )
Console.WriteLine( "The two RegionInfo instances are equal." );
else
Console.WriteLine( "The two RegionInfo instances are NOT equal." );
}
}
/*
This code produces the following output.
The two RegionInfo instances are equal.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates a RegionInfo using the ISO 3166 two-letter code.
Dim myRI1 As New RegionInfo("US")
' Creates a RegionInfo using a CultureInfo.LCID.
Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
' Compares the two instances.
If myRI1.Equals(myRI2) Then
Console.WriteLine("The two RegionInfo instances are equal.")
Else
Console.WriteLine("The two RegionInfo instances are NOT equal.")
End If
End Sub
End Class
'This code produces the following output.
'
'The two RegionInfo instances are equal.
Commenti
RegionInfo(String) è il costruttore consigliato per creare un'istanza di un RegionInfo oggetto. A differenza del RegionInfo(Int32) costruttore che richiede un identificatore delle impostazioni cultura numeriche come parametro, il relativo parametro è un nome delle impostazioni cultura più leggibile o un codice paese.
L'identificatore delle impostazioni cultura viene mappato all'identificatore delle impostazioni locali NLS (National Language Support) corrispondente. Per altre informazioni, vedere Informazioni di riferimento su Windows LCID.
Il valore della Name proprietà del nuovo RegionInfo oggetto di cui è stata creata un'istanza chiamando questo costruttore è il codice ISO 3166 a 2 lettere per il paese/area geografica, non la lingua combinata e il codice paese/area geografica. Ad esempio, se viene creata un'istanza di un RegionInfo oggetto con l'identificatore delle impostazioni cultura 0x0409 per le impostazioni cultura inglese (Stati Uniti), il valore della Name proprietà è "US". Al contrario, se viene creata un'istanza di un RegionInfo oggetto con la lingua combinata e il codice en-US paese/area geografica per le impostazioni cultura inglese (Stati Uniti), il valore della Name proprietà è "en-US" in .NET Framework e solo "US" in .NET Core e .NET 5+.
Vedi anche
Si applica a
RegionInfo(String)
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
- Origine:
- RegionInfo.cs
Inizializza una nuova istanza della RegionInfo classe in base al paese o all'area geografica o alle impostazioni cultura specifiche, specificate per nome.
public:
RegionInfo(System::String ^ name);
public RegionInfo(string name);
new System.Globalization.RegionInfo : string -> System.Globalization.RegionInfo
Public Sub New (name As String)
Parametri
- name
- String
Stringa che contiene un codice a due lettere definito in ISO 3166 per paese/area geografica.
oppure
Stringa che contiene il nome delle impostazioni cultura per impostazioni cultura specifiche, impostazioni cultura personalizzate o impostazioni cultura solo Windows. Se il nome delle impostazioni cultura non è in formato RFC 4646, l'applicazione deve specificare l'intero nome delle impostazioni cultura anziché solo il paese o l'area geografica.
Eccezioni
name è null.
name non è un nome di paese/area geografica valido o un nome di impostazioni cultura specifico.
oppure
Solo .NET 6+: la modalità invariante globalizzazione è abilitata nell'ambiente.
Esempio
Nell'esempio di codice seguente vengono confrontate due istanze di RegionInfo create in modo diverso.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo myRI1 = new RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
// Compares the two instances.
if ( myRI1.Equals( myRI2 ) )
Console.WriteLine( "The two RegionInfo instances are equal." );
else
Console.WriteLine( "The two RegionInfo instances are NOT equal." );
}
}
/*
This code produces the following output.
The two RegionInfo instances are equal.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates a RegionInfo using the ISO 3166 two-letter code.
Dim myRI1 As New RegionInfo("US")
' Creates a RegionInfo using a CultureInfo.LCID.
Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
' Compares the two instances.
If myRI1.Equals(myRI2) Then
Console.WriteLine("The two RegionInfo instances are equal.")
Else
Console.WriteLine("The two RegionInfo instances are NOT equal.")
End If
End Sub
End Class
'This code produces the following output.
'
'The two RegionInfo instances are equal.
Nell'esempio di codice seguente vengono create istanze di usando i nomi delle RegionInfo impostazioni cultura.
using System;
using System.Globalization;
public class SamplesRegionInfo {
public static void Main() {
// Creates an array containing culture names.
String[] myCultures = new String[] { "", "ar", "ar-DZ", "en", "en-US" };
// Creates a RegionInfo for each of the culture names.
// Note that "ar" is the culture name for the neutral culture "Arabic",
// but it is also the region name for the country/region "Argentina";
// therefore, it does not fail as expected.
Console.WriteLine("Without checks...");
foreach (String culture in myCultures) {
try {
RegionInfo myRI = new RegionInfo( culture );
}
catch ( ArgumentException e ) {
Console.WriteLine( e.ToString() );
}
}
Console.WriteLine();
Console.WriteLine( "Checking the culture names first..." );
foreach (String culture in myCultures) {
if ( culture == "" ) {
Console.WriteLine("The culture is the invariant culture.");
}
else {
CultureInfo myCI = new CultureInfo( culture, false );
if ( myCI.IsNeutralCulture )
{
Console.WriteLine( "The culture {0} is a neutral culture.", culture );
}
else {
Console.WriteLine( "The culture {0} is a specific culture.", culture );
try {
RegionInfo myRI = new RegionInfo( culture );
}
catch ( ArgumentException e ) {
Console.WriteLine( e.ToString() );
}
}
}
}
}
}
/*
This code produces the following output.
Without checks...
System.ArgumentException: Region name '' is not supported.
Parameter name: name
at System.Globalization.RegionInfo..ctor(String name)
at SamplesRegionInfo.Main()
System.ArgumentException: Region name 'en' is not supported.
Parameter name: name
at System.Globalization.CultureTableRecord..ctor(String regionName, Boolean useUserOverride)
at System.Globalization.RegionInfo..ctor(String name)
at SamplesRegionInfo.Main()
Checking the culture names first...
The culture is the invariant culture.
The culture ar is a neutral culture.
The culture ar-DZ is a specific culture.
The culture en is a neutral culture.
The culture en-US is a specific culture.
*/
Imports System.Globalization
Public Class SamplesRegionInfo
Public Shared Sub Main()
' Creates an array containing culture names.
Dim myCultures() As String = {"", "ar", "ar-DZ", "en", "en-US"}
Dim culture As String
' Creates a RegionInfo for each of the culture names.
' Note that "ar" is the culture name for the neutral culture "Arabic",
' but it is also the region name for the country/region "Argentina";
' therefore, it does not fail as expected.
Console.WriteLine("Without checks...")
For Each culture In myCultures
Try
Dim myRI As New RegionInfo(culture)
Catch e As ArgumentException
Console.WriteLine(e.ToString())
End Try
Next
Console.WriteLine()
Console.WriteLine("Checking the culture names first...")
For Each culture In myCultures
If culture = "" Then
Console.WriteLine("The culture is the invariant culture.")
Else
Dim myCI As New CultureInfo(culture, False)
If myCI.IsNeutralCulture Then
Console.WriteLine("The culture {0} is a neutral culture.", culture)
Else
Console.WriteLine("The culture {0} is a specific culture.", culture)
Try
Dim myRI As New RegionInfo(culture)
Catch e As ArgumentException
Console.WriteLine(e.ToString())
End Try
End If
End If
Next
End Sub
End Class
'The example displays the following output.
'
'Without checks...
'System.ArgumentException: Region name '' is not supported.
'Parameter name: name
' at System.Globalization.RegionInfo..ctor(String name)
' at SamplesRegionInfo.Main()
'System.ArgumentException: Region name 'en' is not supported.
'Parameter name: name
' at System.Globalization.CultureTableRecord..ctor(String regionName, Boolean useUserOverride)
' at System.Globalization.RegionInfo..ctor(String name)
' at SamplesRegionInfo.Main()
'
'Checking the culture names first...
'The culture is the invariant culture.
'The culture ar is a neutral culture.
'The culture ar-DZ is a specific culture.
'The culture en is a neutral culture.
'The culture en-US is a specific culture.
Commenti
Il name parametro è uno dei codici definiti per paese/area geografica o un nome di impostazioni cultura specifico, personalizzato o solo Windows. Il caso non è significativo. Tuttavia, le Nameproprietà , TwoLetterISORegionNamee ThreeLetterISORegionName restituiscono il codice o il nome delle impostazioni cultura specificato in lettere maiuscole.
I nomi predefiniti RegionInfo sono elencati in ISO 3166: Codici paese.
È consigliabile specificare il nome di impostazioni cultura specifiche anziché semplicemente un nome di paese/area geografica nel name parametro . Ad esempio, en-US per l'inglese (Stati Uniti) o es-US per lo spagnolo (Stati Uniti) è preferibile perché US le proprietà come NativeName e CurrencyNativeName riflettono una lingua specifica.
az-Latn-AZ o az-Cyrl-AZ è preferibile perché AZ le proprietà, ad NativeNameesempio , CurrencyNativeNamee CurrencySymbol riflettono uno script specifico. I nomi delle impostazioni cultura predefiniti sono elencati in Informazioni di riferimento su Windows LCID.
Questo costruttore genera un'eccezione ArgumentException se name è una lingua neutra, ad esempio en per l'inglese.
Note per i chiamanti
Questo costruttore accetta solo impostazioni cultura specifiche o codici paese/area geografica. Tuttavia, alcuni nomi di impostazioni cultura neutre sono gli stessi dei codici paese/area geografica. In questo caso, name viene interpretato come codice paese/area geografica anziché come nome delle impostazioni cultura neutre e questo costruttore non genera un'eccezione ArgumentException.