Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

In tegenstelling tot de CultureInfo klasse vertegenwoordigt de RegionInfo klasse geen gebruikersvoorkeuren en is deze niet afhankelijk van de taal of cultuur van de gebruiker.

Namen die zijn gekoppeld aan een RegionInfo-object

De naam van een RegionInfo object is een van de tweeletterige codes die zijn gedefinieerd in ISO 3166 voor land/regio. De kwestie is niet belangrijk. De Name, TwoLetterISORegionNameen ThreeLetterISORegionName eigenschappen retourneren de juiste codes in hoofdletters. Zie RegionInfo voor de huidige lijst met namen.

Een RegionInfo-object instantiëren

Als u een RegionInfo object wilt instantiëren, geeft u de RegionInfo(String) constructor een regionaam van twee letters door, zoals 'VS' voor de Verenigde Staten of de naam van een specifieke cultuur, zoals 'en-US' voor Engels (Verenigde Staten). U wordt echter aangeraden een specifieke cultuurnaam te gebruiken in plaats van een regionaam met twee letters, omdat een RegionInfo object niet volledig taalonafhankelijk is. Verschillende RegionInfo eigenschappen, waaronder DisplayName, NativeNameen CurrencyNativeName, zijn afhankelijk van cultuurnamen.

In het volgende voorbeeld ziet u het verschil in RegionInfo eigenschapswaarden voor drie objecten die België vertegenwoordigen. De eerste wordt alleen geïnstantieerd van een regionaam (BE) terwijl de tweede en derde worden geïnstantieerd van cultuurnamen (fr-BE respectievelijk voor Frans (België) en nl-BE voor Nederlands (België). In het voorbeeld wordt weerspiegeling gebruikt om de eigenschapswaarden van elk RegionInfo object op te halen.

using System;
using System.Globalization;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        // Instantiate three Belgian RegionInfo objects.
        RegionInfo BE = new RegionInfo("BE");
        RegionInfo frBE = new RegionInfo("fr-BE");
        RegionInfo nlBE = new RegionInfo("nl-BE");

        RegionInfo[] regions = { BE, frBE, nlBE };
        PropertyInfo[] props = typeof(RegionInfo).GetProperties(BindingFlags.Instance | BindingFlags.Public);

        Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}\n",
                          "RegionInfo Property", "BE", "fr-BE", "nl-BE");
        foreach (var prop in props)
        {
            Console.Write("{0,-30}", prop.Name);
            foreach (var region in regions)
                Console.Write("{0,18}", prop.GetValue(region, null));

            Console.WriteLine();
        }
    }
}
// The example displays the following output:
//    RegionInfo Property                           BE             fr-BE             nl-BE
//
//    Name                                          BE             fr-BE             nl-BE
//    EnglishName                              Belgium           Belgium           Belgium
//    DisplayName                              Belgium           Belgium           Belgium
//    NativeName                                België          Belgique            België
//    TwoLetterISORegionName                        BE                BE                BE
//    ThreeLetterISORegionName                     BEL               BEL               BEL
//    ThreeLetterWindowsRegionName                 BEL               BEL               BEL
//    IsMetric                                    True              True              True
//    GeoId                                         21                21                21
//    CurrencyEnglishName                         Euro              Euro              Euro
//    CurrencyNativeName                          euro              euro              euro
//    CurrencySymbol                                 €                 €                 €
//    ISOCurrencySymbol                            EUR               EUR               EUR

Gebruik in scenario's zoals de volgende cultuurnamen in plaats van land-/regionamen wanneer u een RegionInfo object instantiëren:

  • Wanneer de taalnaam van primair belang is. Voor de naam van de es-US cultuur wilt u bijvoorbeeld waarschijnlijk dat uw toepassing 'Estados Unidos' weergeeft in plaats van 'Verenigde Staten'. Als u alleen de land-/regionaam (US) gebruikt, levert 'Verenigde Staten' op, ongeacht de taal, dus moet u in plaats daarvan werken met de naam van de cultuur.

  • Wanneer scriptverschillen moeten worden overwogen. Het land/de regio AZ behandelt bijvoorbeeld Azerbeidzjaanse culturen met de namen az-Latn-AZ en az-Cyrl-AZ, en de Latijnse en Cyrillische schriften kunnen heel verschillend zijn voor dit land/regio.

  • Wanneer het onderhoud van details belangrijk is. De waarden die door RegionInfo leden worden geretourneerd, kunnen verschillen, afhankelijk van of het RegionInfo object is geïnstantieerd met behulp van een cultuurnaam of een regionaam. De volgende tabel bevat bijvoorbeeld de verschillen in retourwaarden wanneer een RegionInfo object wordt geïnstantieerd met behulp van de regio 'VS', de 'en-US' cultuur en de cultuur 'es-US'.

    Lid "VS" "en-US" "es-US"
    CurrencyNativeName US Dollar US Dollar Dólar de EE.UU.
    Name US en-US es-US
    NativeName United States United States Estados Unidos
    ToString US en-US es-US