CultureInfo.CreateSpecificCulture Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a CultureInfo that represents the specific culture that is associated with the specified name.

Namespace:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

static member CreateSpecificCulture : 
        name:string -> CultureInfo


Type: System.String

A predefined CultureInfo name or the name of an existing CultureInfo object. name is not case-sensitive.

Return Value

Type: System.Globalization.CultureInfo

A CultureInfo object that represents:

The invariant culture, if name is an empty string ("").


The specific culture associated with name, if name is a neutral culture.


The culture specified by name, if name is already a specific culture.

Exception Condition

name is not a valid culture name.


The culture specified by name does not have a specific culture associated with it.


name is null.

The CreateSpecificCulture method wraps a call to the CultureInfo(String) constructor.


For a list of predefined culture names, see the National Language Support (NLS) API Reference at the Go Global Developer Center. In addition, starting with Windows 10, name can be any valid BCP-47 language tag.

Cultures are grouped into three sets: the invariant culture, the neutral cultures, and the specific cultures. For more information, see the description of the CultureInfo class.

If the culture identifier of the specific culture returned by this method matches the culture identifier of the current Windows culture, this method creates a CultureInfo object that uses the Windows culture overrides. The overrides include user settings for the properties of the DateTimeFormatInfo object returned by the DateTimeFormat property and the NumberFormatInfo object returned by the NumberFormat property. To instantiate a CultureInfo object that with default culture settings rather than user overrides, call the CultureInfo(String, Boolean) constructor with a value of false for the useUserOverride argument.

Although the CreateSpecificCulture method name includes the term "Specific", remember that culture data can change between versions, or due to custom cultures, or because of user overrides. Use the invariant culture or binary or fixed forms for saving data.

Notes to Callers:

The .NET Framework 3.5 and earlier versions throw an ArgumentException if name is not a valid culture name. Starting with the .NET Framework 4, this method throws a CultureNotFoundException.

The following example retrieves an array of CultureInfo objects that represent neutral cultures from the GetCultures method and sorts the array. When it iterates the elements in the array, it passes the name of each neutral culture to the CreateSpecificCulture method and displays the name of the specific culture returned by the method.


The example uses the zh-CHS and zh-CHT culture names. However, applications that target Windows Vista and later should use zh-Hans instead of zh-CHS and zh-Hant instead of zh-CHT. zh-Hans and zh-Hant represent the current standard and should be used unless you have a reason for using the older names.

Note also that the results of the example may differ on an installation of Taiwanese Windows, where the input of a Chinese (Traditional) neutral culture (zh, zh-CHT, or zh-Hant) will return zh-TW.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 1.1
Return to top