CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) Constructor

Definition

Initializes a new instance of the CultureAndRegionInfoBuilder class.

public:
 CultureAndRegionInfoBuilder(System::String ^ cultureName, System::Globalization::CultureAndRegionModifiers flags);
public CultureAndRegionInfoBuilder (string cultureName, System.Globalization.CultureAndRegionModifiers flags);
new System.Globalization.CultureAndRegionInfoBuilder : string * System.Globalization.CultureAndRegionModifiers -> System.Globalization.CultureAndRegionInfoBuilder
Public Sub New (cultureName As String, flags As CultureAndRegionModifiers)

Parameters

cultureName
String

The name of a culture.

flags
CultureAndRegionModifiers

One of the CultureAndRegionModifiers values that specifies whether the new CultureAndRegionInfoBuilder object is a neutral culture, replaces an existing culture and country/region, or is a new culture.

Exceptions

cultureName is null.

cultureName is the empty string ("").

-or-

cultureName contains characters other than "0" through "9", "a" through "z", "A" through "Z", hyphen (-), or underscore (_).

-or-

cultureName contains hyphens (-) to delimit components, but one or more of the prefix, language, region, or suffix components is absent. That is, two or more hyphens are adjacent.

-or-

cultureName is longer than 84 characters.

-or-

cultureName contains hyphens to delimit components, but one or more of the components is longer than 8 characters.

-or-

cultureName contains a leading or trailing hyphen (-) or underscore (_).

-or-

cultureName specifies an alternate sort replacement culture instead of a .NET Framework culture. For example, culturenName is "de-de_phoneb", a culture that sorts strings as they appear in a German telephone book, instead of "de-DE", the German (Germany) culture.

-or-

flags contains an invalid combination of CultureAndRegionModifiers values.

-or-

flags contains Replacement or Neutral and cultureName specifies a culture that is not found.

-or-

flags contains Replacement and cultureName specifies a user-created custom culture that does not replace a culture shipped with the .NET Framework.

-or-

flags contains Neutral and cultureName specifies a culture that is not a neutral culture.

-or-

flags contains Neutral and cultureName specifies a user-created custom culture that replaces a specific culture shipped with the .NET Framework.

Examples

The following code example creates a custom culture with a private use prefix, then lists a set of its properties. The first property lists the name of the culture.

// This example demonstrates a System.Globalization.Culture-
// AndRegionInfoBuilder constructor and some of the properties 
// of a custom culture object created with the constructor.

#using <sysglobl.dll>

using namespace System;
using namespace System::Globalization;

int main()
{
    CultureAndRegionInfoBuilder^ builder = 
        gcnew CultureAndRegionInfoBuilder
        ("x-en-US-sample", CultureAndRegionModifiers::None);
    
    // Display some of the properties 
    // for the en-US culture.
    Console::WriteLine("CultureName:. . . . . . . . . . {0}", 
        builder->CultureName);
    Console::WriteLine("CultureEnglishName: . . . . . . {0}", 
        builder->CultureEnglishName);
    Console::WriteLine("CultureNativeName:. . . . . . . {0}", 
        builder->CultureNativeName);
    Console::WriteLine("GeoId:. . . . . . . . . . . . . {0}", 
        builder->GeoId);
    Console::WriteLine("IsMetric: . . . . . . . . . . . {0}", 
        builder->IsMetric);
    Console::WriteLine("ISOCurrencySymbol:. . . . . . . {0}", 
        builder->ISOCurrencySymbol);
    Console::WriteLine("RegionEnglishName:. . . . . . . {0}", 
        builder->RegionEnglishName);
    Console::WriteLine("RegionName: . . . . . . . . . . {0}", 
        builder->RegionName);
    Console::WriteLine("RegionNativeName: . . . . . . . {0}", 
        builder->RegionNativeName);
    Console::WriteLine("ThreeLetterISOLanguageName: . . {0}", 
        builder->ThreeLetterISOLanguageName);
    Console::WriteLine("ThreeLetterISORegionName: . . . {0}", 
        builder->ThreeLetterISORegionName);
    Console::WriteLine("ThreeLetterWindowsLanguageName: {0}", 
        builder->ThreeLetterWindowsLanguageName);
    Console::WriteLine("ThreeLetterWindowsRegionName: . {0}", 
        builder->ThreeLetterWindowsRegionName);
    Console::WriteLine("TwoLetterISOLanguageName: . . . {0}", 
        builder->TwoLetterISOLanguageName);
    Console::WriteLine("TwoLetterISORegionName: . . . . {0}", 
        builder->TwoLetterISORegionName);
}

/*
This code example produces the following results:

CultureName:. . . . . . . . . . en-US
CultureEnglishName: . . . . . . English (United States)
CultureNativeName:. . . . . . . English (United States)
GeoId:. . . . . . . . . . . . . 244
IsMetric: . . . . . . . . . . . False
ISOCurrencySymbol:. . . . . . . USD
RegionEnglishName:. . . . . . . United States
RegionName: . . . . . . . . . . US
RegionNativeName: . . . . . . . United States
ThreeLetterISOLanguageName: . . eng
ThreeLetterISORegionName: . . . USA
ThreeLetterWindowsLanguageName: ENU
ThreeLetterWindowsRegionName: . USA
TwoLetterISOLanguageName: . . . en
TwoLetterISORegionName: . . . . US

*/
// This example demonstrates a System.Globalization.Culture-
// AndRegionInfoBuilder constructor and some of the properties
// of the CultureAndRegionInfoBuilder object that is created.
// Compile this example with a reference to sysglobl.dll.

using System;
using System.Globalization;

class Sample
{
    public static void Main()
    {

// Construct a new, privately used culture that extends the en-US culture
// provided by the .NET Framework. In this sample, the CultureAndRegion-
// Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder
// object that you must populate with culture and region information.

    CultureAndRegionInfoBuilder cib = null;
    try {
        cib = new CultureAndRegionInfoBuilder(
                                          "x-en-US-sample",
                                          CultureAndRegionModifiers.None);
        }
    catch (ArgumentException ae)
        {
        Console.WriteLine(ae);
        return;
        }

// Populate the new CultureAndRegionInfoBuilder object with culture information.

    CultureInfo ci = new CultureInfo("en-US");
    cib.LoadDataFromCultureInfo(ci);

// Populate the new CultureAndRegionInfoBuilder object with region information.

    RegionInfo  ri = new RegionInfo("US");
    cib.LoadDataFromRegionInfo(ri);

// Display some of the properties for the x-en-US-sample custom culture.

    Console.Clear();
    Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName);
    Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName);
    Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName);
    Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId);
    Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric);
    Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol);
    Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName);
    Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName);
    Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName);
    Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName);
    Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName);
    Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName);
    Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName);
    Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName);
    Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName);
    }
}
/*
This code example produces the following results:

CultureName:. . . . . . . . . . x-en-US-sample
CultureEnglishName: . . . . . . English
CultureNativeName:. . . . . . . English
GeoId:. . . . . . . . . . . . . 244
IsMetric: . . . . . . . . . . . False
ISOCurrencySymbol:. . . . . . . USD
RegionEnglishName:. . . . . . . United States
RegionName: . . . . . . . . . . US
RegionNativeName: . . . . . . . United States
ThreeLetterISOLanguageName: . . eng
ThreeLetterISORegionName: . . . USA
ThreeLetterWindowsLanguageName: ENU
ThreeLetterWindowsRegionName: . USA
TwoLetterISOLanguageName: . . . en
TwoLetterISORegionName: . . . . US

*/
' This example demonstrates a System.Globalization.Culture-
' AndRegionInfoBuilder constructor and some of the properties 
' of the CultureAndRegionInfoBuilder object that is created.
' Compile this example with a reference to sysglobl.dll.

Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        
        ' Construct a new, privately used culture that extends the en-US culture 
        ' provided by the .NET Framework. In this sample, the CultureAndRegion-
        ' Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder 
        ' object that you must populate with culture and region information.

        Dim cib As CultureAndRegionInfoBuilder = Nothing
        Try
            cib = New CultureAndRegionInfoBuilder("x-en-US-sample", _
                                                   CultureAndRegionModifiers.None)
        Catch ae As ArgumentException
            Console.WriteLine(ae)
            Return
        End Try
        
        ' Populate the new CultureAndRegionInfoBuilder object with culture information.

        Dim ci As New CultureInfo("en-US")
        cib.LoadDataFromCultureInfo(ci)
        
        ' Populate the new CultureAndRegionInfoBuilder object with region information.

        Dim ri As New RegionInfo("US")
        cib.LoadDataFromRegionInfo(ri)
        
        ' Display some of the properties for the x-en-US-sample custom culture.

        Console.Clear()
        Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName)
        Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName)
        Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName)
        Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId)
        Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric)
        Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol)
        Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName)
        Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName)
        Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName)
        Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName)
        Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName)
        Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName)
        Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName)
        Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName)
        Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName)
    
    End Sub
End Class
'
'This code example produces the following results:
'
'CultureName:. . . . . . . . . . x-en-US-sample
'CultureEnglishName: . . . . . . English
'CultureNativeName:. . . . . . . English
'GeoId:. . . . . . . . . . . . . 244
'IsMetric: . . . . . . . . . . . False
'ISOCurrencySymbol:. . . . . . . USD
'RegionEnglishName:. . . . . . . United States
'RegionName: . . . . . . . . . . US
'RegionNativeName: . . . . . . . United States
'ThreeLetterISOLanguageName: . . eng
'ThreeLetterISORegionName: . . . USA
'ThreeLetterWindowsLanguageName: ENU
'ThreeLetterWindowsRegionName: . USA
'TwoLetterISOLanguageName: . . . en
'TwoLetterISORegionName: . . . . US
'

Remarks

For more information about this API, see Supplemental API remarks for System.Globalization.CultureAndRegionInfoBuilder constructor.

Applies to

See also