CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) Constructor
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
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.