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 所辨識的所有文化特性,包括中性和特定文化特性,以及使用者所建立的自定義文化特性。 在 Windows 上執行的 .NET Framework 4 和更新版本以及 .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 | 與語言關聯、但不專屬於國家/地區的文化特性 (Culture)。 |
ReplacementCultures | 16 | 已取代這個成員。 使用者所建立的自訂文化特性,用來取代 .NET Framework 隨附的文化特性 (Culture)。 |
SpecificCultures | 2 | 國家/地區專用的文化特性 (Culture)。 |
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 (0x1000 值LOCALE_CUSTOM_UNSPECIFIED
,或 4096) ) 。 因此,CultureInfo.GetCultures(CultureTypes.UserCustomCulture)
方法會在不同的 Windows 版本上傳回不同的文化特性集。