📜  C#|字符结构

📅  最后修改于: 2021-05-29 18:13:34             🧑  作者: Mango

在C#中,Char Struct用于将字符表示为UTF-16代码单元。此结构在系统名称空间下定义。基本上,它用于表示.NET Framework中的Unicode字符。 Unicode标准使用唯一的21位标量数字(称为代码点)来标识每个Unicode字符。它还定义了UTF-16编码形式,该形式指定了如何将代码点编码为一个或多个16位值的序列。每个16位值的范围从十六进制0x0000到0xFFFF ,并存储在Char结构中。 Char对象的值是其16位数字(常规)值。
Char结构提供了不同的方法,这些方法用于将当前Char对象的值转换为另一种类型的对象,比较Char对象以及检查Char对象的Unicode类别等。

栏位:

  • MaxValue :这是一个常量字段,表示Char的最大可能值。
  • MinValue :这是一个常量字段,表示Char的最小可能值。

方法

Method Description
CompareTo() Compares this instance to a specified object or value type, and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified object or value type.
ConvertFromUtf32(Int32) Converts the specified Unicode code point into a UTF-16 encoded string.
ConvertToUtf32() Converts the value of a UTF-16 encoded surrogate pair into a Unicode code point.
Equals() Returns a value that indicates whether this instance is equal to a specified object or Char value.
GetHashCode() Returns the hash code for this instance.
GetNumericValue() Converts a specified numeric Unicode character to a double-precision floating-point number.
GetTypeCode() Returns the TypeCode for value type Char.
GetUnicodeCategory() Categorizes a Unicode character into a group identified by one of the UnicodeCategory values.
IsControl() Indicates whether a specified Unicode character is categorized as a control character.
IsDigit() Indicates whether a Unicode character is categorized as a decimal digit.
IsHighSurrogate() Indicates whether the specified Char object is a high surrogate.
IsLetter() Indicates whether a Unicode character is categorized as a Unicode letter.
IsLetterOrDigit() Indicates whether a Unicode character is categorized as a letter or a decimal digit.
IsLower() Indicates whether a Unicode character is categorized as a lowercase letter.
IsLowSurrogate() Indicates whether the specified Char object is a low surrogate.
IsNumber() Indicates whether a Unicode character is categorized as a number.
IsPunctuation() Indicates whether a Unicode character is categorized as a punctuation mark.
IsSeparator() Indicates whether a Unicode character is categorized as a separator character.
IsSurrogate() Indicates whether a character has a surrogate code unit.
IsSurrogatePair() Indicates whether two specified Char objects form a surrogate pair.
IsSymbol() Indicates whether a Unicode character is categorized as a symbol character.
IsUpper() Indicates whether a Unicode character is categorized as an uppercase letter.
IsWhiteSpace() Indicates whether a Unicode character is categorized as white space.
Parse(String) Converts the value of the specified string to its equivalent Unicode character.
ToLower() Converts the value of a Unicode character to its lowercase equivalent.
ToLowerInvariant(Char) Converts the value of a Unicode character to its lowercase equivalent using the casing rules of the invariant culture.
ToString() Converts the value of this instance to its equivalent string representation.
ToUpper() Converts the value of a Unicode character to its uppercase equivalent.
ToUpperInvariant(Char) Converts the value of a Unicode character to its uppercase equivalent using the casing rules of the invariant culture.
TryParse(String, Char) Converts the value of the specified string to its equivalent Unicode character. A return code indicates whether the conversion succeeded or failed.

范例1:

// C# program to demonstrate the
// Char.CompareTo(Char) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        char c1 = 'G';
        char c2 = 'f';
        char c3 = 'M';
  
        // using Char.CompareTo(Char) Method
        // returns 0 as this instance has
        // same position in the sort as in c1
        Console.WriteLine('G'.CompareTo(c1));
  
        // using Char.CompareTo(Char) Method
        // returns -31 as this instance
        // precedes c2
        Console.WriteLine('G'.CompareTo(c2));
  
        // using Char.CompareTo(Char) Method
        // returns -6 as this instance follows
        // c3
        Console.WriteLine('G'.CompareTo(c3));
    }
}

输出:

0
-31
-6

范例2:

// C# program to illustrate the
// Char.IsWhiteSpace(Char) Method
using System;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Declaration of data type
        bool output;
  
        // checking if space
        // is a whitespace
        char c1 = ' ';
        output = Char.IsWhiteSpace(c1);
        Console.WriteLine(output);
  
        // checking if carriage return
        // is a whitespace
        char c2 = '\n';
        output = Char.IsWhiteSpace(c2);
        Console.WriteLine(output);
  
        // checking if hyphen
        // is a whitespace
        char c3 = '-';
        output = Char.IsWhiteSpace(c3);
        Console.WriteLine(output);
    }
}

输出:

True
True
False

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.char?view=netframework-4.7.2#definition