RegionInfo Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe RegionInfo.
Surcharges
RegionInfo(Int32) |
Initialise une nouvelle instance de la classe RegionInfo basée sur le pays ou la région associé à l’identificateur de culture spécifié. |
RegionInfo(String) |
Initialise une nouvelle instance de la classe RegionInfo basée sur le nom du pays ou de la région ou sur le nom de la culture spécifique. |
RegionInfo(Int32)
- Source:
- RegionInfo.cs
- Source:
- RegionInfo.cs
- Source:
- RegionInfo.cs
Initialise une nouvelle instance de la classe RegionInfo basée sur le pays ou la région associé à l’identificateur de culture spécifié.
public:
RegionInfo(int culture);
public RegionInfo (int culture);
new System.Globalization.RegionInfo : int -> System.Globalization.RegionInfo
Public Sub New (culture As Integer)
Paramètres
- culture
- Int32
Identificateur de culture.
Exceptions
culture
spécifie une culture dite indifférente, personnalisée ou neutre.
-ou-
.NET 6+ uniquement : le mode invariant de globalisation est activé dans l’environnement.
Exemples
L’exemple de code suivant compare deux instances de RegionInfo qui ont été créées différemment.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew 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.
*/
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.
Remarques
RegionInfo(String) est le constructeur recommandé pour instancier un RegionInfo objet. Contrairement au RegionInfo(Int32) constructeur qui nécessite un identificateur de culture numérique en tant que paramètre, son paramètre est un nom de culture ou un code de pays plus lisible.
L’identificateur de culture est mappé à l’identificateur de paramètres régionaux NLS (National Language Support) correspondant. Pour plus d’informations, consultez Informations de référence sur Windows LCID.
La valeur de la Name propriété du nouvel RegionInfo objet instancié en appelant ce constructeur est le code ISO 3166 à 2 lettres pour le pays/la région, et non le code combiné de langue et de pays/région. Par exemple, si un RegionInfo objet est instancié avec l’identificateur de culture 0x0409 pour la culture anglaise (États-Unis), la valeur de la Name propriété est « US ». En revanche, si un RegionInfo objet est instancié avec le code en-US
combiné de langue et de pays/région pour la culture anglaise (États-Unis), la valeur de la Name propriété est « en-US » dans .NET Framework et uniquement « US » dans .NET Core et .NET 5+.
Voir aussi
S’applique à
RegionInfo(String)
- Source:
- RegionInfo.cs
- Source:
- RegionInfo.cs
- Source:
- RegionInfo.cs
Initialise une nouvelle instance de la classe RegionInfo basée sur le nom du pays ou de la région ou sur le nom de la culture spécifique.
public:
RegionInfo(System::String ^ name);
public RegionInfo (string name);
new System.Globalization.RegionInfo : string -> System.Globalization.RegionInfo
Public Sub New (name As String)
Paramètres
- name
- String
Chaîne contenant un code à deux lettres défini dans la norme ISO 3166 pour le pays/la région.
- ou -
Chaîne qui contient le nom de culture d'une culture spécifique, d'une culture personnalisée, ou la culture propre à Windows. Si le nom de la culture n'est pas au format RFC 4646, votre application doit spécifier le nom entier de la culture, au lieu du pays ou de la région uniquement.
Exceptions
name
a la valeur null
.
name
n’est pas un nom de pays ou de région ou un nom de culture spécifique valide.
-ou-
.NET 6+ uniquement : le mode invariant de globalisation est activé dans l’environnement.
Exemples
L’exemple de code suivant compare deux instances de RegionInfo qui ont été créées différemment.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates a RegionInfo using the ISO 3166 two-letter code.
RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
// Creates a RegionInfo using a CultureInfo.LCID.
RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew 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.
*/
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.
L’exemple de code suivant crée des instances de à l’aide de noms de RegionInfo culture.
using namespace System;
using namespace System::Collections;
using namespace System::Globalization;
namespace Sample
{
public ref class SamplesRegionInfo
{
public:
static void Work()
{
// Creates an array containing culture names.
array <String^>^ commonCultures =
{"", "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...");
for each (String^ cultureID in commonCultures)
{
try
{
RegionInfo^ region =
gcnew RegionInfo(cultureID);
}
catch (ArgumentException^ ex)
{
Console::WriteLine(ex);
}
}
Console::WriteLine();
Console::WriteLine("Checking the culture"
" names first...");
for each (String^ cultureID in commonCultures)
{
if (cultureID->Length == 0)
{
Console::WriteLine(
"The culture is the invariant culture.");
}
else
{
CultureInfo^ culture =
gcnew CultureInfo(cultureID, false);
if (culture->IsNeutralCulture)
{
Console::WriteLine("The culture {0} is "
"a neutral culture.", cultureID);
}
else
{
Console::WriteLine("The culture {0} is "
"a specific culture.", cultureID);
try
{
RegionInfo^ region =
gcnew RegionInfo(cultureID);
}
catch (ArgumentException^ ex)
{
Console::WriteLine(ex);
}
}
}
}
Console::ReadLine();
}
};
}
int main()
{
Sample::SamplesRegionInfo::Work();
return 0;
}
/*
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.
*/
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.
Remarques
Le name
paramètre est l’un des codes définis pour le pays/la région, ou un nom de culture spécifique, personnalisé ou windows uniquement. Le cas n’est pas significatif. Toutefois, les Namepropriétés , TwoLetterISORegionNameet ThreeLetterISORegionName retournent le code ou le nom de culture spécifié en majuscules.
Les noms prédéfinis RegionInfo sont répertoriés dans ISO 3166 : Codes de pays.
Vous devez fournir le nom d’une culture spécifique plutôt qu’un simple nom de pays/région dans le name
paramètre . Par exemple, en-US
pour l’anglais (États-Unis) ou es-US
pour l’espagnol (États-Unis) est préférable, US
car les propriétés telles que NativeName et CurrencyNativeName reflètent une langue spécifique. az-Latn-AZ
ou az-Cyrl-AZ
est préférable à AZ
, car les propriétés telles que NativeName, CurrencyNativeNameet CurrencySymbol reflètent un script spécifique. Les noms de culture prédéfinis sont répertoriés dans référence windows LCID.
Ce constructeur lève un ArgumentException si name
est une culture neutre (par exemple pour l’anglais en
).
Notes pour les appelants
Ce constructeur accepte uniquement des cultures ou des codes de pays/région spécifiques. Toutefois, certains noms de culture neutres sont les mêmes que les codes de pays/régions. Dans ce cas, name
est interprété comme un code de pays/région plutôt que comme un nom de culture neutre, et ce constructeur ne lève pas de ArgumentException.