UnicodeCategory 列舉

定義

定義字元的 Unicode 分類。

public enum class UnicodeCategory
public enum UnicodeCategory
[System.Serializable]
public enum UnicodeCategory
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum UnicodeCategory
type UnicodeCategory = 
[<System.Serializable>]
type UnicodeCategory = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UnicodeCategory = 
Public Enum UnicodeCategory
繼承
UnicodeCategory
屬性

欄位

ClosePunctuation 21

一個成對標點符號的開閉字元 (例如括弧、方括弧和大括弧)。 以 Unicode 指定 "Pe" 表示 (標點符號、關閉)。 值為 21。

ConnectorPunctuation 18

連接兩個字元的連接線標點符號字元。 以 Unicode 指定 "Pc" 表示 (其他、連接線)。 值為 18。

Control 14

Unicode 值為 U+007F 或者落在 U+0000 到 U+001F 範圍或 U+0080 到 U+009F 範圍內的控制碼字元。 以 Unicode 指定 "Cc" 表示 (其他、控制項)。 值為 14。

CurrencySymbol 26

貨幣符號字元。 以 Unicode 指定 "Sc" 表示 (符號、貨幣)。 值為 26。

DashPunctuation 19

破折號或連字號字元。 以 Unicode 指定 "Pd" 表示 (標點符號、破折號)。 值為 19。

DecimalDigitNumber 8

十進位數位字元,也就是代表範圍 0 到 9 中整數的字元。 以 Unicode 指定 "Nd" 表示 (數字、十進位數字)。 值為 8。

EnclosingMark 7

封入標記字元,即圍住所有先前字元直到基底字元 (含) 的非間距組合字元。 以 Unicode 指定 "Me" 表示 (記號、封入)。 值為 7。

FinalQuotePunctuation 23

關閉或最終引號字元。 以 Unicode 指定 "Pf" 表示 (標點符號、最終引號)。 值為 23。

Format 15

影響文字版面配置或文字處理作業但一般不會呈現的格式字元。 以 Unicode 指定 "Cf" 表示 (其他、格式)。 值為 15。

InitialQuotePunctuation 22

開啟或初始引號字元。 以 Unicode 指定 "Pi" 表示 (標點符號、初始引號)。 值為 22。

LetterNumber 9

以字母 (非十進位數字) 代表的數字 (例如,羅馬數字 5 就是 "V")。 指標是以 Unicode 指定 "Nl" 表示 (數字、字母)。 值為 9。

LineSeparator 12

用來分隔文字行的字元。 以 Unicode 指定 "Zl" 表示 (分隔符號、行)。 值為 12。

LowercaseLetter 1

小寫字母。 以 Unicode 指定 "Ll" 表示 (字母、大寫)。 值為 1。

MathSymbol 25

數學符號字元 (例如 "+" 或 "= ")。 以 Unicode 指定 "Sm" 表示 (符號、數學)。 值為 25。

ModifierLetter 3

修飾詞字母字元,這是表示修改前導字母的獨立式間距字元。 以 Unicode 指定 "Lm" 表示 (字母、修飾詞)。 此值為 3。

ModifierSymbol 27

表示修改周圍字元的修飾詞符號字元。 例如,分數斜線表示左邊數字為分子,右邊數字為分母。 指標是以 Unicode 指定 "Sk" 表示 (符號、修飾詞)。 值為 27。

NonSpacingMark 5

表示修改基底字元的非間距字元。 以 Unicode 指定 "Mn" 表示 (記號、非間距)。 值為 5。

OpenPunctuation 20

一個成對標點符號的開啟字元 (例如括弧、方括弧和大括弧)。 以 Unicode 指定 "Ps" 表示 (標點符號、開啟)。 值為 20。

OtherLetter 4

不是大寫字母、小寫字母、字首大寫字母或修飾詞字母的字母。 以 Unicode 指定 "Lo" 表示 (字母、其他)。 值為 4。

OtherNotAssigned 29

未指派給任何 Unicode 分類的字元。 以 Unicode 指定 "Cn" 表示 (其他、未指派)。 值為 29。

OtherNumber 10

不是十進位數字也不是字母數字的數字 (例如,分數 1/2)。 指標是以 Unicode 指定 "No" 表示 (數字、其他)。 值為 10。

OtherPunctuation 24

不是連接線、破折號、開啟標點符號、關閉標點符號、初始引號或最終引號的標點符號字元。 以 Unicode 指定 "Po" 表示 (標點符號、其他)。 值為 24。

OtherSymbol 28

不是數學符號、貨幣符號或修飾詞符號的符號字元。 以 Unicode 指定 "So" 表示 (符號、其他)。 值為 28。

ParagraphSeparator 13

用來分隔段落的字元。 以 Unicode 指定 "Zp" 表示 (分隔符號、段落)。 值為 13。

PrivateUse 17

Unicode 值落在 U+E000 到 U+F8FF 範圍內的私用字元。 以 Unicode 指定 "Co" 表示 (其他、私用)。 值為 17。

SpaceSeparator 11

沒有字符也不是控制或格式字元的空白字元。 以 Unicode 指定 "Zs" 表示 (分隔符號、空格)。 值為 11。

SpacingCombiningMark 6

間距字元,表示修改基底字元並影響該基底字元字符寬度。 以 Unicode 指定 "Mc" 表示 (記號、間距組合)。 值為 6。

Surrogate 16

高 Surrogate 或低 Surrogate 字元。 Surrogate 字碼值落在 U+D800 到 U+DFFF 的範圍內。 以 Unicode 指定 "Cs" 表示 (其他、Surrogate)。 值為 16。

TitlecaseLetter 2

字首大寫字母。 以 Unicode 指定 "Lt" 表示 (字母、字首大寫)。 值為 2。

UppercaseLetter 0

大寫字母。 以 Unicode 指定 "Lu" 表示 (字母、大寫)。 值為 0。

範例

下列範例會顯示 UppercaseLetter 類別中字元的字元及其對應的字碼點。 您可以修改範例,將 UppercaseLetter 取代為您在指派 category 變數中感興趣的類別,以顯示任何其他類別中的字母。 請注意,某些類別的輸出可能非常廣泛。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int ctr = 0;
      UnicodeCategory category = UnicodeCategory.UppercaseLetter;

      for (ushort codePoint = 0; codePoint < ushort.MaxValue; codePoint++) {
         Char ch = (char)codePoint;

         if (CharUnicodeInfo.GetUnicodeCategory(ch) == category) {
            if (ctr % 5 == 0)
               Console.WriteLine();
            Console.Write("{0} (U+{1:X4})     ", ch, codePoint);
            ctr++;
         }
      }
      Console.WriteLine();
      Console.WriteLine("\n{0} characters are in the {1:G} category",
                        ctr, category);
   }
}
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim ctr As Integer = 0
      Dim category As UnicodeCategory = UnicodeCategory.UppercaseLetter
      
      For codePoint As UShort = 0 To UShort.MaxValue - 1
         Dim ch As Char = Convert.ToChar(codePoint)

         If CharUnicodeInfo.GetUnicodeCategory(ch) = category Then
            If ctr Mod 5 = 0 Then Console.WriteLine()
            Console.Write("{0} (U+{1:X4})     ", ch, codePoint)
            ctr += 1
         End If 
      Next
      Console.WriteLine()
      Console.WriteLine()
      Console.WriteLine("{0} characters are in the {1:G} category", 
                        ctr, category)   
   End Sub
End Module

備註

列舉的成員 UnicodeCategory 是由 和 CharUnicodeInfo.GetUnicodeCategory 方法傳 Char.GetUnicodeCategory 回。 列舉 UnicodeCategory 也可用來支援 Char 方法,例如 IsUpper(Char) 。 這類方法會判斷指定的字元是否為特定 Unicode 一般類別的成員。 Unicode 一般類別會定義字元的廣泛分類,也就是指定為字母、十進位數、分隔符號、數學符號、標點符號等等。

此列舉是以 Unicode Standard 5.0 版為基礎。 如需詳細資訊,請參閱 Unicode Character Database 中的 "UCD File Format" 和 "General Category Values" 副標題。

Unicode 標準會定義下列專案:

Surrogate 配對是單一抽象字元的編碼字元標記法,其中包含兩個程式碼單位的序列,其中配對的第一個單位是高 Surrogate,而第二個則是低 Surrogate。 高 Surrogate 是 U+D800 到 U+DBFF 範圍中的 Unicode 字碼點,低 Surrogate 是 U+DC00 到 U+DFFF 範圍中的 Unicode 字碼點。

結合字元序列是基底字元和一或多個結合字元的組合。 Surrogate 配對代表基底字元或合併字元。 合併字元是間距或非步調。 當轉譯時,合併字元的間距會自行佔用間距位置,而非步調合併字元則不會。 讀音符號是非步調合併字元的範例。

修飾詞字母是一個獨立間距字元,例如合併字元,表示先前字母的修改。

封入標記是一個非步調結合字元,將所有前一個字元括在一起,並包含基底字元。

格式字元是通常不會轉譯但會影響文字配置或文字處理程式作業的字元。

Unicode 標準會定義一些標點符號的數種變化。 例如,連字號可以是數個代表連字號的程式碼值之一,例如 U+002D (連字號減號) 或 U+00AD (軟連字號) 或 U+2010 (連字號) 或 U+2011 (非中斷連字號) 。 虛線、空白字元和引號也是如此。

Unicode Standard 也會將程式碼指派給指定腳本或語言特有的十進位數標記法,例如 U+0030 (位數零) 和 U+0660 (阿拉伯文索引數位零) 。

適用於

另請參閱