CultureTypes 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义可以使用 GetCultures(CultureTypes) 方法检索的区域性列表的类型。
此枚举支持其成员值的按位组合。
public enum class CultureTypes
[System.Flags]
public enum CultureTypes
[System.Flags]
[System.Serializable]
public enum CultureTypes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CultureTypes
[<System.Flags>]
type CultureTypes =
[<System.Flags>]
[<System.Serializable>]
type CultureTypes =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CultureTypes =
Public Enum CultureTypes
- 继承
- 属性
字段
AllCultures | 7 | .NET 可识别的所有区域性,包括用户创建的中性区域性和特定区域性以及自定义区域性。 在 .NET Framework 4 和更高版本以及正在 Windows 上运行的 .NET Core 上,将包括可从 Windows 操作系统获取的区域性数据。 在正在 Linux 和 macOS 上运行的 .NET Core 上,将包括 ICU 库中定义的区域性数据。 AllCultures 是包括 NeutralCultures、 SpecificCultures和 InstalledWin32Cultures 值的复合字段。 |
FrameworkCultures | 64 | 此成员已弃用;结合使用此值与 GetCultures(CultureTypes) 可以返回 .NET Framework 2.0 附带的非特定和特定区域性。 |
InstalledWin32Cultures | 4 | 此成员已弃用。 Windows 操作系统中安装的所有区域性。 |
NeutralCultures | 1 | 与某种语言关联但并不特定于某一国家/地区的区域性。 |
ReplacementCultures | 16 | 此成员已弃用。 用户创建的自定义区域性,可以替换 .NET Framework 附带的区域性。 |
SpecificCultures | 2 | 特定于某一国家/地区的区域性。 |
UserCustomCulture | 8 | 此成员已弃用。 用户创建的自定义区域性。 |
WindowsOnlyCultures | 32 | 此成员已弃用且将被忽略。 |
示例
下面的示例演示 CultureTypes.AllCultures
枚举成员和 CultureTypes 属性。
using System;
using System.Globalization;
class Sample
{
public static void Main()
{
// Get and enumerate all cultures.
var allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
foreach (var ci in allCultures)
{
// Display the name of each culture.
Console.Write($"{ci.EnglishName} ({ci.Name}): ");
// Indicate the culture type.
if (ci.CultureTypes.HasFlag(CultureTypes.NeutralCultures))
Console.Write(" NeutralCulture");
if (ci.CultureTypes.HasFlag(CultureTypes.SpecificCultures))
Console.Write(" SpecificCulture");
Console.WriteLine();
}
}
}
/*
The following is a portion of the output from this example.
Tajik (tg): NeutralCulture
Tajik (Cyrillic) (tg-Cyrl): NeutralCulture
Tajik (Cyrillic, Tajikistan) (tg-Cyrl-TJ): SpecificCulture
Thai (th): NeutralCulture
Thai (Thailand) (th-TH): SpecificCulture
Tigrinya (ti): NeutralCulture
Tigrinya (Eritrea) (ti-ER): SpecificCulture
Tigrinya (Ethiopia) (ti-ET): SpecificCulture
Tigre (tig): NeutralCulture
Tigre (Eritrea) (tig-ER): SpecificCulture
Turkmen (tk): NeutralCulture
Turkmen (Turkmenistan) (tk-TM): SpecificCulture
Setswana (tn): NeutralCulture
Setswana (Botswana) (tn-BW): SpecificCulture
Setswana (South Africa) (tn-ZA): SpecificCulture
*/
Imports System.Globalization
Module Module1
Public Sub Main()
' Get and enumerate all cultures.
Dim allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures)
For Each ci In allCultures
' Display the name of each culture.
Console.Write($"{ci.EnglishName} ({ci.Name}): ")
' Indicate the culture type.
If ci.CultureTypes.HasFlag(CultureTypes.NeutralCultures) Then
Console.Write(" NeutralCulture")
End If
If ci.CultureTypes.HasFlag(CultureTypes.SpecificCultures) Then
Console.Write(" SpecificCulture")
End If
Console.WriteLine()
Next
End Sub
End Module
' The following is a portion of the output from this example.
' Tajik (tg): NeutralCulture
' Tajik (Cyrillic) (tg-Cyrl): NeutralCulture
' Tajik (Cyrillic, Tajikistan) (tg-Cyrl-TJ): SpecificCulture
' Thai (th): NeutralCulture
' Thai (Thailand) (th-TH): SpecificCulture
' Tigrinya (ti): NeutralCulture
' Tigrinya (Eritrea) (ti-ER): SpecificCulture
' Tigrinya (Ethiopia) (ti-ET): SpecificCulture
' Tigre (tig): NeutralCulture
' Tigre (Eritrea) (tig-ER): SpecificCulture
' Turkmen (tk): NeutralCulture
' Turkmen (Turkmenistan) (tk-TM): SpecificCulture
' Setswana (tn): NeutralCulture
' Setswana (Botswana) (tn-BW): SpecificCulture
' Setswana (South Africa) (tn-ZA): SpecificCulture
以下示例显示非特定区域性的多个属性。
using namespace System;
using namespace System::Globalization;
int main()
{
// Displays several properties of the neutral cultures.
Console::WriteLine( "CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME" );
System::Collections::IEnumerator^ enum0 = CultureInfo::GetCultures( CultureTypes::NeutralCultures )->GetEnumerator();
while ( enum0->MoveNext() )
{
CultureInfo^ ci = safe_cast<CultureInfo^>(enum0->Current);
Console::Write( "{0,-7}", ci->Name );
Console::Write( " {0,-3}", ci->TwoLetterISOLanguageName );
Console::Write( " {0,-3}", ci->ThreeLetterISOLanguageName );
Console::Write( " {0,-3}", ci->ThreeLetterWindowsLanguageName );
Console::Write( " {0,-40}", ci->DisplayName );
Console::WriteLine( " {0,-40}", ci->EnglishName );
}
}
/*
This code produces the following output. This output has been cropped for brevity.
CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar ar ara ARA Arabic Arabic
bg bg bul BGR Bulgarian Bulgarian
ca ca cat CAT Catalan Catalan
zh-Hans zh zho CHS Chinese (Simplified) Chinese (Simplified)
cs cs ces CSY Czech Czech
da da dan DAN Danish Danish
de de deu DEU German German
el el ell ELL Greek Greek
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi fin FIN Finnish Finnish
zh zh zho CHS Chinese Chinese
zh-Hant zh zho CHT Chinese (Traditional) Chinese (Traditional)
zh-CHS zh zho CHS Chinese (Simplified) Legacy Chinese (Simplified) Legacy
zh-CHT zh zho CHT Chinese (Traditional) Legacy Chinese (Traditional) Legacy
*/
using System;
using System.Globalization;
public class SamplesCultureInfo
{
public static void Main()
{
// Displays several properties of the neutral cultures.
Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME");
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
{
Console.Write("{0,-7}", ci.Name);
Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName);
Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName);
Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName);
Console.Write(" {0,-40}", ci.DisplayName);
Console.WriteLine(" {0,-40}", ci.EnglishName);
}
}
}
/*
This code produces the following output. This output has been cropped for brevity.
CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar ar ara ARA Arabic Arabic
bg bg bul BGR Bulgarian Bulgarian
ca ca cat CAT Catalan Catalan
zh-Hans zh zho CHS Chinese (Simplified) Chinese (Simplified)
cs cs ces CSY Czech Czech
da da dan DAN Danish Danish
de de deu DEU German German
el el ell ELL Greek Greek
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi fin FIN Finnish Finnish
zh zh zho CHS Chinese Chinese
zh-Hant zh zho CHT Chinese (Traditional) Chinese (Traditional)
zh-CHS zh zho CHS Chinese (Simplified) Legacy Chinese (Simplified) Legacy
zh-CHT zh zho CHT Chinese (Traditional) Legacy Chinese (Traditional) Legacy
*/
Imports System.Globalization
Module Module1
Public Sub Main()
' Displays several properties of the neutral cultures.
Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME")
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.NeutralCultures)
Console.Write("{0,-7}", ci.Name)
Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName)
Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName)
Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName)
Console.Write(" {0,-40}", ci.DisplayName)
Console.WriteLine(" {0,-40}", ci.EnglishName)
Next ci
End Sub
'This code produces the following output. This output has been cropped for brevity.
'
'CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
'ar ar ara ARA Arabic Arabic
'bg bg bul BGR Bulgarian Bulgarian
'ca ca cat CAT Catalan Catalan
'zh-Hans zh zho CHS Chinese (Simplified) Chinese (Simplified)
'cs cs ces CSY Czech Czech
'da da dan DAN Danish Danish
'de de deu DEU German German
'el el ell ELL Greek Greek
'en en eng ENU English English
'es es spa ESP Spanish Spanish
'fi fi fin FIN Finnish Finnish
'zh zh zho CHS Chinese Chinese
'zh-Hant zh zho CHT Chinese (Traditional) Chinese (Traditional)
'zh-CHS zh zho CHS Chinese (Simplified) Legacy Chinese (Simplified) Legacy
'zh-CHT zh zho CHT Chinese (Traditional) Legacy Chinese (Traditional) Legacy
End Module
注解
这些区域性类型值由 CultureInfo.CultureTypes 属性返回,并且还用作限制方法返回的区域性的 CultureInfo.GetCultures 筛选器。 有关区域性的详细信息,请参阅 CultureInfo。
通常,使用 CultureTypes.AllCultures
值枚举所有区域性。 这允许枚举自定义区域性以及其他区域性类型。
请注意,除 、 CultureTypes.NeutralCultures
和 CultureTypes.SpecificCultures
之外CultureTypes.AllCultures
的所有CultureTypes
成员都已弃用。
.NET 可识别以下区域性类型,所有这些区域性类型都包含在枚举成员返回的枚举中 CultureTypes.AllTypes
:
指定国家/地区和语言的特定区域性。 这些区域性的名称遵循 RFC 4646。 格式为
<languagecode2>-<country/regioncode2>
,其中<languagecode2>
是派生自 ISO 639-1 的小写双字母代码,是<country/regioncode2>
派生自 ISO 3166 的大写双字母代码。 例如,“en-US”表示英语(美国),是特定区域性。 自定义特定区域性 (也就是说,属于应用程序而不是系统定义的) 的区域性可以具有任何用户指定的名称,而不仅仅是符合标准的名称。非特定区域性,指定不涉及国家/地区的语言。 非特定区域性的名称由派生自 ISO 639-1 的小写双字母代码组成。 例如:“en”(英语)是非特定区域性。 自定义非特定区域性 (也就是说,属于应用程序而不是系统定义的) 的区域性可以具有任何用户指定的名称,而不仅仅是一个双字母代码。
固定区域性包含在指定此值的方法返回 CultureInfo.GetCultures 的区域性数组中。
自定义区域性,即应用程序定义的区域性。 自定义区域性可以表示特定区域性或非特定区域性,并且可以具有任何应用程序指定的名称。
在 Windows 10 之前的 Windows 版本中,
UserCustomCulture
该值分配给开发人员创建的自定义区域性。 在 Windows 10 中UserCustomCulture
,值还会分配给不受完整区域性数据集支持且没有唯一本地标识符的系统区域性。 (类型UserCustomCulture
的所有区域性共享 CultureInfo.LCID 值LOCALE_CUSTOM_UNSPECIFIED
(0x1000 或 4096) ) 。 因此,CultureInfo.GetCultures(CultureTypes.UserCustomCulture)
方法在不同的 Windows 版本上返回不同的区域性集。