CultureTypes 列舉

定義

使用 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
繼承
CultureTypes
屬性

欄位

AllCultures 7

.NET 所辨識的所有文化特性,包括中性和特定文化特性,以及使用者所建立的自訂文化特性。

在 Windows 上執行的 .NET Framework 4 和更新版本以及 .NET Core,其包括 Windows 作業系統提供的文化特性資料。 在 Linux 和 macOS 上執行的 .NET Core,其包括 ICU 程式庫中定義的文化特性資料。

AllCultures 是複合欄位,包含 NeutralCulturesSpecificCulturesInstalledWin32Cultures 值。

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.NeutralCulturesCultureTypes.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 或 4096) ) 的值 LOCALE_CUSTOM_UNSPECIFIED 。 因此, CultureInfo.GetCultures(CultureTypes.UserCustomCulture) 方法會在不同的 Windows 版本上傳回不同的文化特性集。

適用於

另請參閱